Forvaltning af applikationer (3)

Fremgangsmåden for at få styr på en vigtig del af enterprisearkitekturen er den måde som de forskellige applikationer er bygget op og hvordan it-løsningerne fremadrettet skal være bygget for at mindre kompleksitet og øge dynamisk udvikling. Dynamisk udvikling omhandler at applikationerne tilpasses de krav og behov som forretningsenhederne har. Gartner Incorporated arbejder også med en fremgangsmåde til enterprisearkitektur program som definerer at forretningen forandrer sig hurtigt, og fokus er på at få udarbejdet integrationer til applikationer som kan understøtte den foranderlige situation for forretningen og dermed forretningsprocesserne.

Applikationsarkitekturen er et vigtigt komponent i et enterprisearkitektur program fordi applikationerne er en vigtig del af den informationsteknologiske platform. En platform består både af applikationerne, middleware og serverne. Ligeledes indgår slutbrugernes hardware og software i forhold til den oplevelse som slutbrugeren oplever.

Forvaltning igennem principper

Principper er et fornuftigt værktøj til at kunne styre udviklingen på en applikation. Det kræver dog at principperne er bygget op om det som kaldes for SMART. SMART står for specific, measureable, attainable, relevant og time-bound.

  • Specific
  • Measureable
  • Attainable
  • Relevant
  • Time-bound

De ovenstående punkter er værd at få vurderet alle principperne sig ud fra for at få den fulde effekt ved at anvende principperne.

Nødvendige principper

Der findes et minimum antal principper som skal overholdes for applikation, hvis den skal betragtes som værende en faktor som ikke bidrager til IT-gælden, og dermed sagt vil det være nødvendigt at klassificere applikationerne som havende IT-gæld, hvis de bryder principperne eller leverancerne som applikationerne indgår i som påvirkende IT-gælden negativt.

Bemærk i dette blogindlæg er principperne kun beskrevet på et overordnet plan og dermed kommer principperne ikke ind på SMARTe, men når principperne skal operationaliseres i organisationen.

Et bud på nødvendige principper er som følgende:

  1. Princip for adskillelse af den grafiske brugergrænseflade, forretningslogik og data.
  2. Princip for applikations sikkerhed. Dermed sagt at udvikling på applikationen skal tage højde for til hver en tid gældende sikkerhedstrusler.
  3. Princip for anvendelse af standarder i alle projekter som er underlagt arkitektur.
  4. Princip for integration til applikationslandskabet skal være bygget op om en service-orienteret arkitektur og alle integrationer skal være dokumenteret.
  5. Princip for anvendelse af software fra godkendte leverandører.
  6. Princip for ”SOLID” udvikling af applikationer. SOLID er en klynge af principper og består af:
    1. Single Responsible Principle. En klasse skal kun ændres på baggrund af en grund.
    2. Open Closed Principle. Klasser skal være åbne for udvidelser, men lukkede for ændringer.
    3. Liskov Substitution Principle. Klasser som er opbygget omkring moduler som gør brug af en basis klasse, så skal referencen kunne skiftes med en reference til en afledt klasse uden at det påvirker programmets byg.
    4. Dependency Inversion Principle. Koblingen mellem de forskellige klasser være bygget på abstraktion og ikke på direkte på koblinger.
    5. Interface Segregation Principle. Anvendelse af interfaces som indeholder metoder. Split interfaces op så de støtter op om funktionalitet.
    6. Composite Reuse Principle. Fokus på polymorfisme frem for arv.

Udover de fem ovenstående eksempler findes der sikkert en masse andre gode eksempler på principper som applikationen bør overholde.

Konklusion

Applikationer kræver forvaltning og arkitektur for at sikre de fremadrettet kan vedligeholdes og tilpasses en dynamisk omverden. Organisationernes omverden bliver mere og mere dynamiske (Doucet 2009) og mere og mere præget af konkurrence.

Den dynamiske omverden har stor indflydelse på de krav som stilles til udviklingen på applikationerne og ikke mindst den forvaltning som it-afdelingen bliver nød til at gennemføre for, at udviklingen på applikationerne kan gennemføres omkostningseffektivt og sikre, at det vil være nemt for systemudviklerne at sætte sig ind  applikationernes arkitekturer og bygge videre på dem.

Forvaltning af applikationer er en nødvendighed, hvis dynamisk udvikling af applikationerne fremadrettet skal være omkostningseffektivt så er det nødvendigt at anvende principper som specifikt retter sig mod udvikling af applikationerne. Disse principper vil blandt andet berøre programmeringssprog, sikkerhed, integrationer til andre applikationer.

Kilder

Doucet, Gary, John Gøtze, Pallab Saha, and Scott Bernard. Coherency Management: Architecting the Enterprise for Alignment, Agility and Assurance. International Enterprise Architecture Institute, 2009.

Knoernschild, Kirk. Java Application Architecture Modularity Patterns with Examples Using OSGi. Upper Saddle River, NJ: Prentice Hall, 2012.

Reklamer

1 Comment

Skriv et svar

Udfyld dine oplysninger nedenfor eller klik på et ikon for at logge ind:

WordPress.com Logo

Du kommenterer med din WordPress.com konto. Log Out / Skift )

Twitter picture

Du kommenterer med din Twitter konto. Log Out / Skift )

Facebook photo

Du kommenterer med din Facebook konto. Log Out / Skift )

Google+ photo

Du kommenterer med din Google+ konto. Log Out / Skift )

Connecting to %s