mindedge

  • Öka teckenstorlek
  • Standard teckenstorlek
  • Minska teckenstorlek
Home Arkitektur
Arkitektur

Oavsett komplexitet för ett system ska byggas och senare underhållas krävs det någon form av tanke om hur det ska byggas. Denna tanke brukar vi beteckna med arkitektur. Arkitektur är svårt och det finns inte ett sätt att göra det på. Tekniker och mönster för att skapa en arkitektur som passar det system du ska bygga har förfinats genom åren.

 Systemarkitektur blir inte alltid som man tänkt sig

 

När man väl fått versionen av systemet/programvaran på plats så är systemarkitekturen inte klar för det. Arkitekturen är ngt som man aktivt måste arbeta med över tiden för att kunna lägga till uppfylla nya behov och krav. Om inte detta arbete prioriteras så börjar koden spreta och det är svårt att få en ögonblicksbild för att få reda på hur en förändring kommer slå t.ex.

Arkitektur och designmönster i ett system förfaller om man inte arktivt arbetar med att följa uppArkitektur och designmönster i ett system förfaller om man inte arktivt arbetar med att följa upp

På de här sidorna delar vi med oss några av våra erfarenheter som vi hoppas du ska finna nytta av i ditt arbete.

 



Qi4j 1.0 har släppts

Skicka sidan Skriv ut PDF

Qi4J 1.0 släpptes officiellt på JFokus

Så har då ramverket som Rickard Öberg et al kämpat med under två års tid släppts för allmänheten. Ska bli intressant att se om det kan slå. Det är inte lika intuitivt som t.ex. de övriga DI-ramverken, men det tar å andra sidan ett större grepp genom att sammanlänka objektorientering (OO), domän-driven design (DDD) samt dependency injection (DI). Summan av detta blir Composite Oriented Programming.

http://www.qi4j.org

 

Enterprise Architecture med Master-Slave principen

Skicka sidan Skriv ut PDF

När flera IT-system ska fungera ihop genom att utbyta information och samverka på olika sätt, i en s.k Enterprise Architecture, är det viktigt att tidigt bestämma vilket system som äger vilken information och affärslogik.

Vid ett flertal diskussioner med kunder landar man oftast i hur information och affärslogik ska hanteras eftersom det är mer regel än undantag att liknande eller samma information hanteras på flera ställen av olika system.

 Alla system vill vara herre på täppan och äga informationen och affärslogiken

Bild- System med duplicerad information och affärslogik
Läs mer...
 

Spring 3.0

Skicka sidan Skriv ut PDF

Spring 3.0 RC2 har nu släppts

Jag har ögnat igenom nyheterna i Spring 3.0 för att se vad som kan vara till nytta för vårt projekt. 

Bean Validation

Spring 3 har nu stöd för Bean Validation och för oss som använder Spring MVC så går det att använda deklarativ validering på inparametrarna. Frågan är om det är värt att refaktorera existerande valideringskod?

Rest

Rest-stödet kan vara intressant att använda tillsammans med MVC och även för web services istället för den existerande. 

JavaConfig

JavaConfig är i för sig inget nytt i Spring 3.0, men några av finesserna har hamnat i huvudramverket. Nu är det nog dags att gå över till JavaConfig.

Spring Expression Language

Att kunna använda mer avancerade uttryck i konfigurationen är mycket bra och användbart.

Java 5

Spring släpper nu 1.4 och drar nu nytta av Java 5 såsom generics, men stödjer även Java 6. Vad gäller Java EE så stödjer den Java EE 1.4, men även Java EE 5. Stödet för @Async i Java EE 6 är spännande.

 

 

 

Systemintegration - mina erfarenheter

Skicka sidan Skriv ut PDF

Det är sällan jag är med och tar fram system som är helt fristående ifrån omvärlden. I de flesta fall ska de integreras med något annat system genom att hämta eller lämna (eller både och) till ett eller flera andra interna eller externa system. Att integrera med andra system kan ofta vara kostsamt och det krävs att arkitekturen och informationsmodellen för integrationen är väl genomtänkt.

Min favoritbok i ämnet som samlat alla mönster som tagits fram genom åren finns samlat i Enterprise Integration Patterns. Boken är skriven av Gregory Hophe coh Bobby Wolf och är ett måste.

Service Oriented Architecture - SOA

De tidigare årens buzzword inom systemintegration, Service Oriented Architecture (SOA), dvs en tjänstebaserad arkitektur har tappat lite fokus i debatten. Med en tjänstebaserad arkitektur går det att tillhandahålla löst kopplad interaktion mellan olika system.

SOA har egentligen alltid funnits, men det har oftast realiserats med hjälp av begränsande standarder, protokoll och API:er såsom RPC, RMI, Corba etc. Tack vare Web Services och SOAP så har industrin lyckats enats om en meddelande "standard" för att utbyta information mellan olika plattformar. Den s.k. standarden är dock fortfarande under utveckling och kommer så även vara under ett antal år framöver.

Enterprise Service Bus - ESB

En ESB tillhandahåller en infrastruktur för att realisera en tjänstebaserad arkitektur. Förutom att tillhandahålla interface av olika protokoll (SOAP/Web Services, HTTP, FTP, JMS, ...) så innehåller den s.k regelbaserad meddelandehantering, t.ex. BPEL, mellan tjänster samt dokumentformatering.

Personligen har jag erfarenhet ifrån SAP XI, MQ Series (eller WebSphere MQ) och BizTalk

Web Services

Jag har med framgång använt Web Services för att knyta ihop olika system med varandra som var i behov av synkron kommunikation. Trots att det första systemet sattes i bruk för drygt 6-7 år sedan så höll tekniken redan då. Genom att hålla sig till det som man genom WS-I arbete med Basic Profile tagit fram på senare tid så lyckades vi.

Message Oriented Middleware - MOM

Till skillnad ifrån Web Services så är message oriented middleware asynkron. I de fall där tiden inte är kritisk och framförallt leveranssäkerheten är hög föredrar jag alltid att använda MOM-teknik.

Med produkter såsom WebSphere MQ,  Microsoft MQ och SAP XI så har man tillgång till en stabil miljö som är relativt lätt att utveckla med och få grepp om.

Teknikspecifika API:er

De teknikspecifika API:erna används för det mesta i de fall man vill ha en högpresterande synkron kommunikation mellan systemen. Några exempel jag använt är Java Connector (JCO) för SAP coh DCOM.

Screen Scraping

En annan plattformsoberoende, men kanske inte lika vanlig, är screen scraping. Genom att använda sig av ett API i det språk man utvecklar sitt system kan man ge input och läsa av svaret på "skärmar" ifrån systemet man ska integrerar med. En "skärm" kan vara en html-sida, men vanligare är stordator- och AS/400-skärmar. Papyrus e-handel bygger på att e-handelssystemet kommunicerar via 3270-terminaler och screen scraping med teknologi ifrån Attachmate.

Senast uppdaterad 2009-11-19 22:57
 



Warning: Parameter 1 to modMainMenuHelper::buildXML() expected to be a reference, value given in /home/u/u0125396/www/libraries/joomla/cache/handler/callback.php on line 99

Blogämnen


Warning: Parameter 1 to modMainMenuHelper::buildXML() expected to be a reference, value given in /home/u/u0125396/www/libraries/joomla/cache/handler/callback.php on line 99

Nyheter

Mindedge administrerar IASAs nästa medlemsmöte i Göteborg den 24/2, 17.30-20.00. Kom och lyssna på Peer Törngren där han går igenom fundamentala modelleringskoncept, med tyngdpunkt på hur modeller och metamodeller hänger ihop, och diskuterar även en del praktiska aspekter av att införa modell-driven utveckling.

Läs hela inbjudan. Anmälan sker till peter.norrhall@mindedge.se eller per-arne.lovgren@mindedge.se

 
Per-Arne har påbörjat ett uppdrag som It-Arkitekt hos Västra Götalands Regionen.