The Mini SOA Framework
What is SOA?:
SOA Stands for Service Oriented Architecture. Popular Concepts are its an architecture not Technology! To use enterprise in more effective and agile way. It’s a Middleware solution that makes several applications talk to each other. Web Services is an implementation of SOA. Providers store their information's into the directory by using Web Services Description Language(WSDL) Lookup providers communicate with consumers and providers by using Simple Access Object Protocol (SAOP). Consumer and Provider exchange their messages by using Extensible Markup Language (XML).
Before SOA: Here an exmple given about the communication before SOA between web applications. Dependency is MAX while communicating with each other. Failure of one system could terminate the whole process. If we keep increase systems, connections rises exponentially; The reason of huge traffic over the internet.
SOA:
Here an exmple given about the communication in SOA. Communication is limited to the middleware solution and system. Failure of one system never harm any communication. System: 1 need to send theír data to the directory by using any web language and directory will integrate the message to the requires sytem and convey the message to the system: 1.
Mini SOA Framework- Environment Setup:
We need multiple systems using different port to make a simple framework for SOA.
• Edit three configuraion files to establish ports:
1. httpd.conf
--> Xampp Control Pnael Config
--> Add Port List afterward default
--> Listen 8440….
2. httpd vhosts.conf-
--> Xampp/apache/conf/extra/httpd-vhosts.conf
--> <VirtualHost *:8440>
DocumentRoot"D:/xampp/htdocs/Orchestrator
ServerName localhost:8440
<Directory "D:/xampp/htdocs/orchestrator">
Require all granted
</Directory>
</VirtualHost>
3. hosts
--> C: Windows System32 drivers etc hosts.txt
-->Add: 127.0.0.1 localhost:8440 (...)
• Now all the newly added ports shall run on xampp.
Mini SOA Framework- Implementation:
Language used: PHP, HTML (Partially).
Four web pages working on 4 different ports.
Ports:
Default port: Consumer
Port 8440: Orchestrator
Port 8460: Provider
Port 8480: Provider 1
Consumer send request with random number
Orchestrator receives the request and process it and forward to the available Provider
All the processing are done in Orchestrator file
Then in the end output from providers received by consumer.
Possible Scopes:
There are numearous ways to modify a existed system: (applied on this framework)
• Odd or even method instead of dividing them in groups.
• Create an array and select random provider to make it autonomous
• Use database to store more providers
• Use session to strict data conveying
• Use socket programming in case of sending messages.
• Use encryption in case of transferring valuable information.
• Send valuable information from providers directly.
Note:
Enterprises like Fujitsu, HP, Oracle, IBM, RedHat, Fiorano , Tibco etc. are playing major roles in the Middleware market as per the new report.
SOA provides easy mainenance whlie using same directory path that prevents reinventing and increase the productivity.
Scalability, Reliability and QoC are there to make the service more authenticated while being redundant and error free.
On the contray, it has some major cons like overloading the system by using multiple services. Also, it requires high cost to maintain the service that include high bandwidth availability to face million of users at a time.
SOA focuses on business and Cloud computing is internet based computing solution to the enterprise that can be bound together to find wide solutions.
Key concerns for SOA: which services and when; Ownership and funding; Reuse and development.
Research Solutions & Ideas:
Q1. What are the Alternative approaches to obtain high availability and their properties?
--> Architecture of Microservices- Main idea is to break the system into small & independent services which can be develop and deploy independently.
--> Driven by Events- The idea is not to deal with single service and focus on the flow of events among components.
--> Resource Oriented- Main idea is to expose resources as API which has their own pros & cons. So, the design of the architecture will be based on specific goals need to achieve by the organization.
--> Distributed Computing- This kind of architecture is needed while dealing with vast amount of data. It distributes homogeneous nodes which is capable of holding large amount of data by running arbitrary algorithms on them. Processor power and the capacity of memory served by the nodes. Main idea is to move the code into the data cause its way more smaller than the data its handling.
Q2. What trade offs are there in relation to providing high availability in SOA systems?
High availability is to maintain the operation when failure of WebLogic servers, Nodes or issues with Database occurs. Below here highlighted few possible trade off was found during research:
1. Using HA Power Tool.
2.Using Oracle Cluster ready Services.
3. Setting Up Auditing with an Oracle RAC Database Store.
4. Multi data sources are highly recommended.
5. Whole server migration for Windows.
Thanks for Reading!