Opinnäytetyössä toteutettiin jyväskyläläiselle ohjelmistoalalalla toimivalle Codecenter Oy:lle
Java-ohjelmointikielellä skaalautuva muunnospalvelu moniasiakasympäristöön, jolla muunnettiin XML-tiedostoja eri muotoihin. Palvelun toteutuksessa hyödynnettiin VMwaren vFabricalustaa sekä avoimen lähdekoodin ratkaisuja, joista tärkein oli Spring Framework. Toteutettu
palvelu koostui erillisestä hallintasovelluksesta ja viestikäsittelijästä.
Työssä vertailtiin vertikaalista ja horisontaalista skaalausta keskenään teoriatasolla. Muunnospalvelu toteutettiin noudattaen horisontaalisen skaalauksen periaatteita. Työssä käsiteltiin muistinvaraisten tietokantojen ja viestijonojen käyttämistä osana skaalausratkaisuja.
Muistinvaraisena tietokantana käytettiin vFabric GemFirea, joka mahdollisti useita eri
lähestysmistapoja muistinvaraisen kannan muodostamiseen. Viestijonototeutuksena taas
käytettiin RabbitMQ:ta.
Muunnosten tekeminen suoritettiin Apache ServiceMix -alustalle toteutettua käsittelijäkomponenttia käyttäen. Tällöin mahdollistettiin muunnospalvelun joustava integroiminen muiden
järjestelmien kanssa. ServiceMix ja sen kanssa käytetty Apache Camel tarjosivat yhdessä
mittavan joukon erilaisia työkaluja integraatioita varten.
Tutkimustuloksena saatiin tietoa horisontaalisen skaalauksen soveltamisesta oikean sovelluksen toteutuksessa sekä tietoa vFabric-alustan käytöstä. Horisontaalisen skaalauksen
keskeisimpänä periaatteena esitelty useisiin osiin jaottelu osoittautui käytännössä hyvin
toimivaksi ratkaisuksi. vFabric-alusta tarjosi hyvät työkalut skaalautuvan palvelun toteuttamiseen.This bachelor's thesis describes the implementation process of a scalable transformation
service given as an assignment by an IT company called Codecenter Oy. The service was
aimed at a multiuser environment. The transformation service was used for transforming
XML files into other formats. VMware's vFabric platform was used for implementing
scalability. Other open source tools were also used, including Spring Framework.
Vertical and horizontal scaling were compared; but the main focus, however, was on
horizontal scaling. The use of an in-memory database and message queues were the two
most important concepts. vFabric GemFire was used as an implementation for an inmemory database and RabbitMQ as a messaging queue implementation.
Apache ServiceMix and Apache Camel were used together for providing the best way of
performing transformations. They also provided a number of tools for integrating the service
with other systems.
The thesis demonstrates how to apply the theory of horizontal scaling in practice. The results
were promising and prove how splitting was the best way to implement horizontal scaling.
vFabric platform was the most important solutions provider for scalability