Applicatieontwikkeling is het proces waarlangs organisaties programmatuur bouwen om hun bedrijfsprocessen te ondersteunen.
Wat is dat?
Applicatieontwikkeling is het proces waarlangs organisaties programmatuur bouwen om hun bedrijfsprocessen te ondersteunen. Dat gaat dus veel verder dan het leren programmeren van ‘Hello World' in een (scripting)taal. Het heeft te maken met het zien te achterhalen van de wensen/eisen van de gebruikersgroep, de resources die een applicatie kan aanspreken, de tijd waarin een programma gebruiksklaar opgeleverd kan worden en de testmethoden. Er zijn diverse manieren om programmatuur te bouwen, waarvan de (vernieuwde) watervalmethode een bekende is. Andere methoden zijn rapid application development (rad), structured systems analysis and design method (ssadm), dynamic systems development method (dsdm), eXtreme Programming (XP) en agile modeling. De alternatieve methoden zijn vooral ontwikkeld om meer dynamiek in het proces te krijgen en een betere grip op tijdsduur en budget. Applicatieontwikkeling maakt een stormachtige tijd door. We stippen hier slechts enkele punten aan.
Wat zijn de trends?
- Offshoring is een ontwikkeling die een belangrijke stempel drukt op de applicatieontwikkeling. Waar voorheen (business)analisten en programmeurs rond de tafel gingen zitten om requirements en aangedragen programmatuur door te spreken, vormen afstand en cultuurverschil nu vaak een
obstakel. - Applicaties die ‘elkaar bijten', omdat ze bijvoorbeeld tegelijkertijd beslag op geheugen of andere ondeelbare middelen leggen, komen nog steeds voor. Taalverschillen of versieconflicten zorgen er ook regelmatig voor dat applicaties niet op één desktop kunnen draaien. Het kost veel testwerk om dergelijke problemen te achterhalen en op te lossen.
- Applicaties hoeven tegenwoordig niet meer alleen in hun eigen ‘stack' te draaien, maar moeten ook werken in relatie tot andere systemen. Ketenintegratie brengt namelijk bedrijfsprocessen met elkaar in verband die buiten de eigen bedrijfsmuren samenwerken en softwarematige ondersteuning vragen.
- Als gevolg van talloze sensoren (zoals rfid-chips) moeten sommige applicaties in staat zijn razendsnel grote hoeveelheden data te verwerken en, bij overschrijding van grenswaarden, zelf actie ondernemen. De workflow zit dan in de applicatie ingebakken en tijd om een database te raadplegen is er veelal niet.
- Tot slot: rich internet applicaties. Applicaties die in een browser hun werk doen, via internet.
Welke oplossingen zijn er?
- Moderne communicatiemiddelen, zoals de Halo Collaboration Studio van HP en unified communications oplossingen van Cisco en Microsoft, maken de wereld kleiner, zodat ‘ver weg programmeurs' makkelijker kunnen overleggen met analisten. Je moet dan alleen het tijdsverschil in de gaten houden. Standaardisatie op ontwikkelmethoden als model driven architecting helpen ook de verstandhouding te verbeteren.
- Uml (unified modeling language) is een van de meest gebruikte methoden om de visies van systeemontwikkelaars begrijpelijk en gestandaardiseerd vast te leggen. Het laat je toe om diagrammen te tekenen die begrijpelijk zijn voor de klant, de analist en de programmeur.
- Applicaties – die vaker als (vergankelijke) services opereren – moeten overal kunnen draaien. Deze fragmentatie vereist meer controle en moet de vrijheid van programmeurs (die met objectgeoriënteerde talen als Java en .NET over oneindig veel mogelijkheden beschikken) inperken. Domain specific language (dsl) tools bieden een abstractielaag waarin het raamwerk van applicaties wordt gedefinieerd. Microsoft biedt dsl-tools. Progress Software had dit jaren geleden in zijn 4GL (vierde generatie taal) opgenomen, heeft er nu OO-aspecten aan toegevoegd en noemt de oplossing advanced business language.
- Complex event processing, met een product als Apama van Progress, is een manier om een stortvloed aan data snel te verwerken en geautomatiseerd actie te ondernemen. Banken passen dit toe bij ‘algo trading'.
- Adobe zet fors in op rich internet applications met zijn ColdFusion software (en andere ‘creative suites') die makkelijk overweg kan met Ajax-, Java- en .NET-applicaties.
- Applicatie virtualisatie (via VMWare van EMC of Softgrid van Microsoft) biedt applicaties aan via een server, waardoor er op de desktop geen conflicten meer kunnen ontstaan. Dit werkt niet voor applicaties (zoals Office of antivirussoftware) die vaak in contact moeten treden met andere toepassingen.
Wie geven hierover adviezen?
- Accenture
- Atos Origin
- Avaya
- Caesar Groep
- Capgemini
- Centric
- CIBER
- Compuware
- EDS
- Getronics PinkRoccade
- HP
- IBM
- ilionx Group
- Imtech ICT
- Info Support
- Inter Access Groep
- IT Staffing Groep
- LogicaCMG
- Microsoft
- Ordina
- Pecoma Business Technology
- Qurius
- Simac Techniek
- Unisys
- VCD IT Groep
- VX Company