Service Oriented Architecture

An expanded architectural framework

By Sam Mishra


Service Oriented Architecture is the latest in the architectural frameworks to design and build software. It is a means to put wrappers around legacy code, so that communication to databases (primarily relational databases like Oracle, DB2, MySQL) serving the legacy applications can be done using XML. XML is the lingua franca of e-business. XML is used to communicate between multiple SaaS (Software as a Service) systems, whether they have the Internet browser as the UI (User Interface) or whether they be data-serving batch reports.

Beyond data exchange between on-line and batch applications, XML can also be used to build RSS feeds to build traffic back to the websites, portals such as the Franteractive Strategy Portal, podcasts on Franconomics.com, etc. So, XML / RSS feeds are fast emerging as viral marketing techniques, along side Web 2.0 applications like Twitter.

An architect builds blue-prints prior to design and construction, as in Civil Engineering related real-estate: buildings, bridges, houses, and neighborhoods. A software architect creates blue-prints for real-estate on the Internet: Web 2.0 applications like  Facebook and Twitter, ERP systems like SAP and Oracle, New Media websites like HuffPost and FRANCONOMICS.com, Office Automation Software like VOIP, etc. In that sense, SOA is an evolution of older software architectural  models like MDA (model driven architecture), Pattern Oriented Architecture, n-tier (Internet, Application Tier, Database Tier) architecture, Client-Server architecture, monolithic (single machine based) architecture, etc.



In addition to using XML, SOA uses UML (Unified Modeling Language), Microsof't SOAP (Service Oriented Application Protocol), etc. Turning DB2 IBM Appications to SOA can be achieved by wrapping the legacy code within the Application Server tier using J2EE based as servers such as BEA WebLogic or IBM WebSphere, or using dot-net based C# and C++ applications, and the Internet tier Markup Languages (HTML / XML / JavaScript or Microsoft ASP Script). These two tiers can expose API services, which can be consumed by other SaaS applications: data exchange can be achieved by XML, FTP using ISV files, etc. 

Eventually, two things will happen in the software development business: all software will be served as a Service, and all software will be open-source. SOA will become ubiquitous as the underlying architecture for building SaaS applications using multiple platforms: J2EE, Dot-Net, LAMP (Linux, Apache, MySQL, Perl / Python / PHP).