BWise – EAI Framework Anurodh Srivastava Shalin Shekhar Mangar JSS Academy of Technical Education,...

Preview:

Citation preview

bWise – EAI Framework

Anurodh SrivastavaShalin Shekhar MangarJSS Academy of Technical Education,Noida, India.

Enterprise Application Integration

● Enterprise application– Software specialized in a particular area

● Inventory● Financials● Supply Chain Management (SCM)● Customer Relationship Management (CRM)● Ecommerce● Sales Force Automation

– Vendors● SAP● Oracle● Peoplesoft

Enterprise Application Integration

● Business process/workflow– Smooth flow of data

● Inventory● Financials● Supply Chain Management (SCM)● Customer Relationship Management (CRM)● Ecommerce● Sales Force Automation

– Automation Vendors● Microsoft● IBM● Tibco

Enterprise Application Integration

● Challenges in automation– Communication

● Different input/output formats– Security

● Multiple authentication/authorization schemes– Management

● Multiple management/configuration

EAI Frameworks

● Components– Communication

● Enterprise Service Bus (ESB)● Message Oriented Middleware (MOM)

– Security● Support for multiple security schemes

– Management● Dependent on per application basis

Why bWise ?

● Prohibitive costs● Vendor dependence● Lack of interoperability● Platform dependence● Need for consultants

How bWise helps ?

● Prohibitive costs– Open Source & Free Software

● Vendor dependence– Community Ownership

● Lack of interoperability– Open Standards (see www.open-eai.org &

www.oasis-open.org)● Platform dependence

– Supports all platforms● Need for consultants

– Powerfull development tools

Design Problems

● Communication● Security● Platform Independence● Interoperability● Workflow description● High Throughput● Distributed Transactions● Management● Backup/Restore● Extensibility

Communication

● Synchronous vs. Asynchronous● Polled● Platform independent

– Document formats– Web Services

● Transformations● Correlation

Security

● Must support multiple schemes● Authentication● Authorization● Encrypted communication

Platform Independence

● Multiple Operating Systems– Linux– Unix– Windows

● Multiple programming languages– COBOL– C/C++– Java– .NET

Interoperability

● Applications● Competing tools● Formats● Languages

Workflow Description Format

● Choices– An entirely new format– XLANG (used by Microsoft)– WSFL (used by IBM, Tibco)– BPEL4WS

● Business Process Execution Language for Web Services● Emerging standard● Open (a w3c standard)● Endorsed by all vendors

High Throughput

● High volume of data● I/O maybe more expensive than processing● Multiple processes● Hundreds of process instances

Distributed Transactions

● Multiple business applications– Each containing multiple datastores

● A distributed transaction scheme– Coordinate a transaction between applications– Abstract commit/rollback support if available– Provide notification model– Error logging

Management

● Configuration– Logging– Notification– Messaging– Data Storage/Retrieval

● Monitoring– Per business process

● Present status● History

– Statistics● Throughput● Transactions

Backup/Restore

● Backup Scheme– Business process data dump– Transaction logs

● Restore Scheme– Crash recovery

Extensibility

● Ability to support future enhancements– Message transport mechanisms– Transformation mechanisms– Security schemes

Design Decisions

● Java– Advantages

● Platform independent● Tried and tested for server applications

– Downsides● I/O Performance

● XML– Advantages

● Platform neutral data format● Extensive support for interoperability

– Downsides● Extra Overhead in processing

Design Decisions

● Eclipse IDE– Advantages

● Mature platform● Lesser learning curve for new developers● Open Source

– Downsides● Increased development time

● XSD (XML Schema Document)– Advantages

● Platform neutral data description format (metadata)● Easier to work with than DTDs

Design Decisions

● Message Queues– Advantages

● Asynchronous processing● Guaranteed message delivery

● Correlation– Concept of envelopes

● Metadata tags● Aid in encryption/decryption

● Security– Enterprise Single Sign-on

● One username/password for multiple applications

Design Decisions

● Code Generation– BPEL4WS vs. Java Code– Java Code provides better performance– Added complexity in code generation from business

process models● Web Services

– Support for all platforms– Data format independent (uses XML)– Asynchronous mode– Apache Axis

Components of bWise

● Eclipse Development Tools (EDT)– Document Designer– Transformation Designer– Messaging Manager– Business Process Designer

● Process Execution Engine– Message Transport Agents (MTA)– Pipeline Processors– Verification & Correlation Manager– Authentication Manager– Process Co-ordinator

● Administrator Tools

Eclipse Development Tools (EDT)

● Document Designer– Analyzes documents– Generates XSD– Manipulate XSD

● Transformation Designer– Analyzes XSDs– Generates Mapping Code (XSLT or Java)

● Messaging Manager– Creation of Pipelines

● Business Process Designer– Visually draw process diagrams– Generate Code

Process Execution Engine

● Message Transport Agents (MTA)– I/O Mechanisms

● File● Web Services

● Pipeline Processors– Transformers (document, encryption/decryption)

● Verification & Correlation Manager● Authentication Manager

– Enterprise Single Sign-on services– Cryptographic Services

● Process Co-ordinator– Workflow execution engine

Administrator Tools

● View & manage server database● Install/Uninstall MTAs● View & manage transaction logs● Backup/Restore schemes● Monitor alert notifications● Performance statistics

Key Problem Areas● A formal model for static analysis of a business

process.● Code generation module for business process

diagrams.● Optimization of memory usage for business

processes containing long running transactions.● An efficient scheduling algorithm for monitoring

business process executions.● A publish-subscribe model (akin to event

dispatch model in java) for outcome notifications.

Future Directions

● Not just a final year project– Aims to be a stable open source software– Hopes to make a dent in EAI tools market.

● Future development directions– Support for more MTAs– Support for Legacy code (Screen Scraping)– Load Balancing– Segregation of components into independent

execution units

Thank You

Anurodh SrivastavaShalin Shekhar Mangar

JSS Academy of Technical Education,Noida, India.

Recommended