The above PPT was created as a part of college presentation on the topic of Enterprise Application Integration & Flexibility with Service-oriented Architecture.
References :-
https://en.wikipedia.org/wiki/Enterprise_application_integration
https://en.wikipedia.org/wiki/Service-oriented_architecture
https://www.sciencedirect.com/science/article/pii/S1877050921000375
Mis 20021241104 20021241103_20021241148_20021241155_20021241149_eai and flexibility with soa
1. Enterprise Application
Integration & Flexibility with
Service oriented Architecture
Presented by :-
Shaunak Gujjewar (20021241104)
Shantanu Bokarde (20021241148)
Mohammad Aman (20021241155)
Sashvat Yadav (20021241103)
Ayushi Singh (20021241149)
Presented to
Dr. Anuj Verma
2. Enterprise Application Integration(EAI)
Enterprise application integration (EAI) is the process of
connecting databases and workflows associated with business
applications so that the information is used uniformly across the
organisation and that improvements to core business data made
by one application are correctly reflected in others.
3. Benefits OF EAI
Information Sharing
EAI allows data to flow between different software programmes within a company as
well as from beyond the company's computer systems.
Data collection activities can be consolidated with EAI, removing the redundancies of
making each application collect and store data for its own purposes
Employees spend less time looking for information as a result, and the information
they receive is much more complete and up to date.
Process Automation
Processes involving data or operation from various software applications can be
streamlined with EAI.
CRM can be combined with an e-mail marketing tool to send targeted messages to
consumers based on their previous behaviour or demographics.
All of this information can be combined into an ERP framework to help the
organisation allocate resources more efficiently.
4. Reduced IT Complexity
The majority of enterprise-level businesses find it difficult to successfully implement
new technologies. The learning curve is always high, and a new programme might
not be compatible with existing systems.
By integrating the knowledge and features of many applications into a single, easy-
to-use, enterprise application integration removes these roadblocks to a smooth
business operation.
Increased Agility
Enterprise application integration helps companies to identify and adapt to
opportunities more quickly, which is one of the most significant business benefits.
Companies can use EAI to fix market changes, reputation management challenges,
supply chain disturbances, and more – all from a single interface.
5. Types of EAI
Data Level Integration
Data oriented Integration is primarily used when source
application don't provide or support any Application
Programming Interface (API) to retrieve the data.
Application Level Integration
Different applications are linked together using an Application
Programming Interface (API) to provide access to the application's
business logic, processes, and data. This integration allows
applications to connect with one another in order to share
business data.
The API Interface is provided by out-of-box systems by the
product vendor such as People-soft, SAP in order to communicate
with other systems in real-time.
6. Method level integration
It's a form of integration in which an organisation exposes popular business
logic as a web API for an application to access and process business
transactions.
It enables businesses to share common business logic while also allowing for
real-time integration between applications for:
I. Business to Business (B2B)
II. Business to Customer (B2C)
III. Customer Relationship Management ( CRM)
User Interface level
User interface-level EAI is also commonly called "Refacing" and consists of
replacing existing text-based user interfaces of legacy systems and graphical
interfaces of PCs by a standardized interface, typically browser-based
7. Examples of EAI
• Boomi was founded in 2000
• Boomi is a business unit that specializes in integration platform as a service
(iPaaS), API management, Master Data Management and data preparation
• Its technology allows users to build and deploy integration processes using a visual
interface and a drag and drop technique
• Supports cloud to cloud, Saas to Saas, cloud to on premises, on premises to on
premises and B-B integration.
• Saves customers time
• Reduces Errors compared to what manually mapping integration can do.
8. Service-Oriented Architecture ( SOA )
Service-Oriented Architecture (SOA) is a software design style in which application
components provide services to other components through a network
communication protocol. Its principles are unaffected by vendors or other
innovations.
9. Features & Benefits of SOA
Feature Benefits Supporting Infrastructure
Service Improved Information Flow
Ability to expose internal functionality
Organizational flexibility
Messaging Configuration flexibility Messaging program
Message Monitoring Business Intelligence
Performance measurement
Security attack detection
Activity monitor
Message Control Application of management policy
Application of security policy
PDPs & PEPs
Service Re-use Lower software development and
management costs
Service repository
Complex Event
Processing
Simplification of software structure
Ability to adapt quickly to different
external environments
Improved manageability and security
Event Processor
Model-driven
Implementation
Ability to develop new functions rapidly Model-implementation environment
11. DIFFERENCE BETWEEN EAI AND SOA
EAI SOA
Guaranteed delivery Reusability of services in other applications
Easy to accomplish goals Easy to update and maintain
Simlifies distributed asynchronous computing and
access to data sources
Platform independence
Allows reuse data across other applications Location independent
Greater flexibility Greater reliability and fewer software errors
12. Advantages and disadvantages of EAI
Advantages Disadvantages
•Streamlined Data Exchange More Complex Architecture
Time Savings Performance bottlenecks possible
Reduced Labor Costs Difficulty accessing or maintaining business logic
Minimized Human Error Complex Data Conversion
Simplifies distributed asynchronous Third-Party Software Required
13. Advantages and disadvantages of SOA
Advantages Disadvantages
High Reusability Large Initial Investment
Independent Location Increased Response Time
Improved Scalability Complex Service Management
Easy to update and maintain Significant upfront Investment
Location Independent High cost
14. Flexibility of SOA
• The main concept of flexibility in SOA solutions is the opportunity to exchange and
adapt services at runtime.
• The concept of flexibility in SOA solutions is the opportunity to exchange and adapt
services at runtime. A key requirement is the full encapsulation of services and
standardized interfaces. Nevertheless, there is not one common valid definition of
the term flexibility. analyzes different definitions of flexibility and their dimensions.
Furthermore the authors summarize these dimensions in the context of a company’s
structure and challenges distinguishes between flexibility of usage and flexibility to
change and adapt an information system. Summarizes these different
understandings into one unified matrix. As this encompasses all three dimensions,
we use the definition of flexibility.
15. Service Oriented Architecture Case Study
• On a global scale, there are many small-scale, micro-scale and medium-scale software
companies as compared to large-scale companies.
• The Small-Scale, Micro-scale and Medium-Scale companies affect national economy and
also contribute a sizeable proportion to the GDP of many nations.
• Small-scale, Medium-scale and Micro-scale software companies frequently face
problems of providing quality services with limited financial resources, weak
management, and limited labor capacity.
• The technological infrastructure of a business is a fundamental pillar in the business
network and demands continuous investment, but must also permit improvement of
business competitiveness. Creation of more efficient architecture and system increases
the productivity by many folds.
• These investments are costly in nature. Not many companies can afford them. Experts in
SOA are tough to hire due to higher pay requirements, security issues, archaic
management, or narrow business domain.
16. • SOA are usually 3rd Party Services, therefore they can also be costly.
• But implementation of SOA is also costly. The reason being that specialised hardware,
middleware components, and personnel are required for the implementation. Due to this
centralised SOA, SOA management is easier but scaling is slow. Also a crash in central SOA will
lead to an organization level crash of the SOA.
• The objective of SOA is to achieve weak coupling between systems.
• Coupling refers to interdependencies among modules. The less the interdependencies the more
the better system.
• Having a well-defined system structure helps reduce time, effort, cost required to maintain and
provide services. The basic components are freely coupled, interoperable, distributed.
• Decoupling of the SOA system is the most important feature of SOA system.
• SOA faces an issue of breakdown a lot, an issue in one part of the system can cause a huge
breakdown, a bottleneck in a part of the system can hamper the performance in other part of the
system.
• SOA also face an issue of access to data. SOA can access relational databases but it needs a huge
investment in architecture. SOA applications based on other SOA applications can have longer
recording times.
17. • Codideep E.I.R.L. Company is an ecosystem that reaches 27 countries and offers services
like Construction of Freelance jobs, development of remote projects, development of
software products.
• The company has ready made software products ready for direct acquisition or custom
software development, for people or organization, courses that may cost premium
professional courses or workshops on IT, sale hosting etc.
• The basic operations of the business are as follows :-
Method proposed for implementation of SOA
18.
19. • Company Service includes the Web Page and Invoicing Modules; while Chat Service is a service of
communication of the platform which interacts with all other modules; Business Service constitute the
core of the company providing platform modules and Codideep’s profile, hosting sales and providing
technical support.
• The following services were used on the proposed SOA :-
Sr. No. Types of Service Description Technology used
1 Chat Service • Decoupled service that integrates chat into all web projects. • JavaScript
• Node.js
• Socket.io
• MongoDB
2 Business Service • Partially decoupled stateless services that integrates all business
process such as business management, project registration,
authentication, process logging.
• PHP
• Lavarel
• API REST
• CORS
• MySQL
3 Company Service • Stateless decoupled service, which displays information on
demand in a shared and centralized way.
• C#
• Net Core
• Swagger
• SQL Server
• JWT
20.
21.
22. Sr. No. Components Used Description
1 Consumer Clients • Web systems developed in different languages which require through XMLHTTPREQUEST.
2 Service Object • Transmit information in a transparent manner between consumer client and the required service. It could
be referred to as DTO (Data transfer object), also known as Domain-oriented Architecture. The component
involved might be an encapsulated class, a serialized object, depending on technology used.
3 Routes • It is an optional component. It validates the access path to a certain service. It is not mandatory to
implement.
4 Business Layer • It manages all the business logic of the service. It receives parameters to process, operate, and generate
request. It’s behaviour can be modified according to need and it can do multiple tasks together or partially
with the help of polymorphism.
5 Helpers • It is an optional layer and it’s main purpose is to encapsulate recurring behaviour for certain business
processes, thus reducing development time and simplify logical complexity of each process.
6 Validation Layer • It validates data in the business layer, thus ensuring information consistency and denying inappropriate data
for the system. It is better to create this as an additional layer to reduce code overload.
7 Data Access Layer • This layer is in charge of data persistence. This layer receives all the information treated or processed by the
business layer, to finally save the information in a database or even recover and return it for use later.
8 Databases • These store information and arrange them properly, sifting through that data.
24. • The physical implementation has been improved by removing the contractual layer. This layer helps in
maintaining data transparency, consistency, interface access.
• But the above requires a lot of time, therefore it was replaced with Service Objects layers, which reduces
time.
• Web Services do not impact the above architecture much due to the presence of languages like XML, HTTP,
SOAP, WSDL, REST. To achieve more performance REST was used for some tasks.
• For accessing files that are being uploaded, Json was used with semantic description and point-to-point
connections.
• Socket based connection points requires more time load, therefore REST was used majorly. But some
function require both socket and REST, and therefore they were optimized together.
• Data was centralized with the help of SQL, MongoDB. In SOA, all levels of interface can interact with lower
levels, but lower level hides the implementation part as it does not know about upper levels.
• This does reduces load on a single point hardware but the above must be implemented carefully. Chat
Services were designed in MongoDB as it can handle complex data types, complex data structures and loads
faster.
• MySQL was used for Business Service and Company Service layers because it can encapsulate all logical
functions well, and can also quickly process any information that is recurring.
• The above architecture thus reduces load time and also reduces investment needed. To avoid bottleneck,
multiple databases can be created. Data clustering will increase more costs.