bpm and soa are going mobile - an architectural perspective
DESCRIPTION
http://www.opitz-consulting.com/go/3-5-898 Smartphones and tablets conquered our world. Which new opportunities are there for our businesses? Which influence has the omnipresent HTML5? How can I integrate mobile solutions in an optimal architectural way in my SOA landscapes and which kind of advantages do I gain for business process automation? This session delivers answers and puts current buzzwords like Big Data, Cloud, internet of things, HTML5 and mobile in the context of BPM and integration. Thereby we derive a reference architecture for Oracle SOA Suite, OSB, BPM Suite, Enterprise Gateway, Webcenter, ADF Mobile, etc., which makes all the buzzwords easily manageable in our daily IT work and prevents you from making mistakes others already did. Torsten Winterberg und Guido Schmutz, both well-respected SOA Experts, presented this session at German Oracle User Communities’s Conference (DOAG Konferenz) at nov 20th 2013 in Nuremberg, Germany. -- - - - About us: OPITZ CONSULTING is a leading project specialist for custom-build applications and individual business intelligence solutions in the German market. The company's ambition is to help organizations to be better than their competitors. To achieve this OPITZ CONSULTING analyses the individual competitive edge the customer has, optimizes business processes for process automation and IT-support, chooses and designs appropriate system architectures, develops and implements solutions and guarantees a 24/7 support and application maintenance. To ensure the necessary skill and qualification OPITZ CONSULTING has established a training center for customers and the internal staff. Since 1990 over 600 customers have a long lasting and successful business relationship with OPITZ CONSULTING. Over 2/3 of the German stock index (DAX) companies rely on services from the 400+ OPITZ CONSULTING consultants. OPITZ CONSULTING maintains offices in Bad Homburg, Berlin, Essen, Gummersbach, Hamburg, Munich, Nuremberg and Kraków and Warsawa (Poland). About us: http://www.opitz-consulting.com/en/about_us Services: http://www.opitz-consulting.com/en/leistungsangebot Career: http://www.opitz-consulting.com/en/careerTRANSCRIPT
Guido SchmutzTrivadisTorsten WinterbergOPITZ CONSULTING Deutschland GmbH
BPM and SOA Are Going Mobile
DOAG, November 2013
An Architectural Perspective
Mobile DevelopmentWhat does this mean today?
An architectural point of view
We need an iPhone App! 2008
Cloud-Services become more and more important
Dropbox, Evernote, …
We need an Android App! 2010
Market share mobile OS
Acceptance of Android Versions
http://www.iphoneblog.de/2012/10/08/android-in-welcher-version/
The Web: Cross-PlattformWrite Once, run everywhere
HTML5
HTML elements JavaScript CSS
HTML5 is the evolution of web development
Business Logic
User InterfaceRequest
BackendFrontend
Classical Architecture
ResponseStorage
Rendering
User Interface
Storage
REST Calls
Local Storage
Presentation LogicREST Backend
Single Page Web-Apps
BackendFrontend
Hybrid Apps
Native App
HTLMCSS
JavaScript
WebView
Native App
1 2 3 4
Start process from mobile device
Start process for insurance immediately
Mobile Tasklist
Mobile Dashboards
Mobile Processdesign
Mobile process documentation
Mobile Alarm / Monitoring
Warning:Avoid the Many-cheap-Apps-Architecture-Maintenance-Hell
Mobile Integration Technologies
SOAP• Has a reputation for being
complex and heavyweight• Has a formal contract
language to define message formats
• Supports standardized security approaches and tools
• Supports XML and Binary
REST• Has a reputation for being
simple and lightweight• No formal contract language
to define message formats• Security is a major challenge
due to lack of standardization
• Supports multiple data types (JSON, Text, XML, Binary)
SOAP Style
34
Mobile Integration Patterns
REST Style
REST API SchemaAktion Typ URI Schema
customerByUsername GET /api/customers?username=fred
rentalsByCustomerId GET /api/rentals?customerId=7
carTypes GET /api/cartypes
cities GET /api/cities
availableCars GET /api/availableCars?cityId=1 &startDate=2011-10-28-… &endDate=2011-10-30-… &maxPrice=90
rentCar POST /rental/ Body: {carId=...,startDate=...,endDate=...}
Date format: "yyyy-MM-ddTHH:mm:ss.SSSZ"
Mobile Integration Technologies
XML• “Native” format for
enterprise data exchange• Highly formal structure• Content CAN be validated• Formats can change only
when all parties agree• Supports multiple data
types (Text, Binary)
JSON• “Native” format for
web pages• No formal structure• Content cannot be
validated• Easy to change• Text only
37
REST: URI addressing and data representation
Mobile Integration Patterns
JSON as exchange format for data
Request:$ curl --user fred:pass http://localhost:8484/...
.../rylc-html5/backend/api/customers?username=fred
Response:{
"city":"Steintal","email":"[email protected]","enabled":true,"id":1,"name":"Fred Feuerstein",...
}
old new
The Web is evolving…
Documents Declarative HTML
TemplatesRequest/Response
Thin Client
ApplicationsProgrammatic DOM
APIsSynchronization
Thick Client
Digital Natives
Back to terminator vision
Google Glasses
Google Glasses
© http://www.flickr.com/photos/azugaldia/7457645618
Internet of Things
http://blog.trentonsystems.com/machine-to-machine-technology-efficient-economy
Data Driven Applications as new breed
“It’s about using data to make our customer touch points more engaging, more interactive, more data-driven.”
48
Central vs. Application Databases• Application Database
• Only accessed by a single application• Only the application using the database
needs to know about the structure• Easier to maintain and evolve the schema• More freedom to choose the database• Applicable to SOA (i.e. Data Service/Entity
Service) with good Service Autonomy• Ready for the cloud
• Central Database
• Using SQL as the integration mechanism between applications
• applications store data in common DB• Improves communication, all
applications operate on consistent set of data
• Structure ends up to be more complex• Changes need to be coordinated with all
other applications using the database• Side-effects (i.e. adding database index)
DB
Application 1 Application 2 Application 3
DB
Application 1 Application 2 Application 3
DB DB
49
Relational vs. Aggregate Data Models• Aggregate is a term that comes
from Domain-Driven Design (Evans)• An aggregate is a collection of
related objects, that should be treated as a unit– Unit for data manipulation and
management of consistency
• The relational model takes the information and divides it into tuples (rows)
• A tuple is a limited data structure– no nesting of tuples – no list of values
NoSQL Databases
Big Data frameworks are often associated with the term NoSQL• Not only SQL• The power of SQL is not needed for all problems• Specialized solutions may be faster or more scalable• Bring the ability to handle semi-structured and unstructured data• NoSQL complements RDBMS • Different types of NoSQL today:
• Key-value, Column-Family, Document, Graph
Big Data frameworks and NoSQL are related but not necessarily the same• Some big data problems may be solved relationally
Polyglot PersistenceDefines a hybrid approach to persistence• Using multiple data storage technologies• Selected based on the way the data is used by an application
Decisions• Have to decide what data storage technology to use (Relational or NoSQL)• Today it‘s easier to go with relational
New Data Access APIs• Each data store has its
own mechanisms for accessing the data
Solution• Wrap data access
code into services (Data/Entity Service) exposed to applications
51
Service-Oriented Polygot Persistence Model
User Session Service
Shopping CartService Order Service
Product CatalogService
Recomendation Service
E-commerce Application
Shopping cart data User Sessions Product Catalog RecomendationsCompleted Order
Key-Value RDMBS Document Graph
Unified (Mobile) Architecture
53Enterprise Applications
SOAP
JMS
REST RDMBS
Internet of Things
Mobile Apps
Loca
l ESB
External Cloud Service
Providers
Ente
rpris
e Se
rvic
e Bu
s (E
SB)
EJB
Cloud to Device Messaging (C2DM)
Serv
ice
Gat
eway
CEP
HTTP/JSON Application
Server
Complex Event Processing (CEP) / Fast Data
NoSQL/ Big Data
BPM und SOA Platform
REST
SOAPDB
LDAP / Enterprise IDM
(Big) Data Analytics
BusinessLogic
NoSQL
Web Apps
DB
Analytical Applications
Data Warehouse
Data Integration
RDMBS
Ora
cle
Serv
ice
Bus
(OSB
)
Oracle WebLogic Server
Oracle SOA Suite
Oracle BPM Suite
Oracle ADF
Oracle Event Processing (OEP)
Oracle NoSQLDatabase
Oracle BigData Appliance (BDA)
Oracle ADFMobile
Ora
cle
Dat
a In
tegr
ator
(OD
I)
Oracle ADF
Oracle WebLogic Server
Java Embedded
Oracle Database Mobile Server
Web Sockets
OEP EmbeddedOracle Business Intelligence Foundation Suite
Oracle Business Activity Monitoring (BAM)
Ora
cle
Gol
denG
ate
Oracle NoSQL DB
Oracle RDBMS
Oracle Database Mobile Server
Oracle IDMOra
cle
API G
atew
ay (O
AG)
Conclusion
Mobile Apps today Think in new architecture pattern
Native Apps, mobile Web-Apps, Hybride Apps HTML5, Single-Page-Apps, Many-Cheap-Apps-Hell,…
Mobile Apps tomorrow Not only B2C and B2B, but M2M Explosion of
Number of Devices Data / Events Need for Integration
Combination of Cloud, Big Data, Fast Data / Event Processing, Mobile, IoT is the future
Oracle products fitting in this architecture
Oracle ADF Mobile
• Enables Customers to mobile-enable enterprise applications– One common platform for desktop and
mobile applications (Android & iOS)– Handle multiple channels and network:
browser, native, and hybrid applications
• Technology foundation for future Oracle applications mobile development
Oracle ADF• End-to-end development
framework for Java EE• Based on industry standards• Full model-view-controller
implementation• Rich web, mobile and desktop UI• Focus on reusability• Visual and declarative
development• Integrated security and
customization
Oracle Database Mobile Server• Secure, efficient, resilient mobile
data synchronization with Oracle Database
• Remote application, user and device management
• Standards-based encryption for remote data, in both storage and transit
• Robust and reliable mobile data synchronization over unreliable networks
• Highly scalable server configuration, supporting large and growing mobile or remote deployments
• Integration with ADF Mobile
Oracle API Gateway (OAG)
• Serves REST APIs and SOAP Web Services to clients
– Converts REST to SOAP– Converts XML to JSON
• Supports other protocols also– FTP, SFTP, FTPS– TIBCO Rendezvous and EMS– JMS (to IBM WebSphere MQ, ActiveMQ, JBOSS
Messaging, etc)• Applies security rules
– Authentication: OAuth, HTTP Auth, Certificate Auth, WS-Security
– Content Filtering: Detection of SQL Injection, XSS, Viruses
• Monitoring of API and Service usage• Caching and Traffic Management (routing,
throttling)
Oracle Service Bus (OSB) – Message & Service Integration
• Embedded access to service result caching
• Intelligent content and identity based routing
• Rich set of transports/adapters• Data-oriented services and REST
support• Dynamic message transformation and
streaming• Built-in monitoring, management and
QoS• Configuration-driven message and
service integration• Optimized, pluggable, policy-driven
transport and message security
Oracle Data Integrator (ODI) – Data Integration
• Out-of-the-box integration with databases, ERPs, CRMs, B2B systems, flat files, XML data, LDAP, JDBC, ODC
• Knowledge module framework for extensibility
• In-database transformations and data integrity controls on all databases
• Rich ETL for Oracle databases• Integrates with Oracle GoldenGate for
real-time data warehousing• Metadata-driven data lineage and
impact analysis• Integrates with Oracle Enterprise Data
Quality for advanced profiling, cleansing, matching and data governance needs
Oracle Goldengate – Data Replication
• High performance data replication• Heterogeneous sources and
targets• Conflict detection and resolution• Real-time and deferred apply• Event marker infrastructure• Flexible topology support• Data encryption• ETL and JMS integration• Routing and • compensation• Initial load capability
Oracle SOA Suite – Service Integration
• Unifies Oracle and 3rd party Cloud applications with on-premises
• Enables rapid delivery of existing applications into mobile channel
• Improves partner collaboration with better B2B and API Management
• Fast Data support with embeddable real-time event platform
• Optimized integration to Oracle Applications running on Oracle Exalogic
Oracle BPM Suite – Business Process Management
• Business driven design, execution and improvement
• Common process model facilitates Business-IT collaboration
• Complete support for any type of process, including Adaptive Case Management
• Modernize and unify existing applications
• Time-to-value & packaged best practices with Process Accelerators
Oracle Event Processing (OEP)
• Lightweight Java Application server
• Deployable stand-alone, integrated in SOA stack or lightweight on Embedded Java
• Continuous Query Language (CQL) based on SQL syntax
• Easy to use Development Environment
• Enterprise class High Availability, Scalability, Performance and Reliability
• Various Integration Opportunities using AQ, JMS and HTTP Publish/Subscribe Connectivity…
• Coherence Integration
Oracle Business Activity Monitoring (BAM)
• Monitor business processes & services in real-time
– Key Performance Indicators (KPIs)– Service-Level Agreements (SLAs)
• Analyze events as they occur – Correlate events & KPIs– Identify trends as they emerge– Alert users to bottlenecks & solutions
• Act on current conditions– Event-driven alerts– Real-time dashboards– BPEL processes & web services
integration
Oracle Big Data Appliance
• Massively scalable infrastructure to store and manage big data
• Big Data Connectors delivers load rates up to 12TB per hour between Data Applicance and Oracle RDMBS
• Based on Cloudera’s distribution• Integrated into Oracle Enterprise Manager• Advanced analytics with Oracle R on Hadoop
data• Handle low-latency unstructured workload
with the pre-installed Oracle NoSQL database• Infiniband connectivity between node and
across racks• Flexible configuration choices allowing flexible
growth for Haddop and Oracle NoSQL databases
Oracle NoSQL Database• Simple Data Model
• Key-value pair with major+sub-key paradigm• Read/insert/update/delete operations
• Scalability• Dynamic data partitioning and distribution• Optimized data access via intelligent driver
• High availability• One or more replicas• Disaster recovery through location of replicas• Resilient to partition master failures• No single point of failure
• Transparent load balancing• Reads from master or replicas• Driver is network topology & latency aware
• Elastic• Online addition/removal of Storage Nodes • Automatic data redistribution
Oracle WebLogic Server Java EE 6 application server
Java SE 6 and 7 certification
High Performance Platform for Mission Critical Cloud Applications
Deep Integration with Oracle Database 12c - Multitenant and RAC
Real-time data processing through GoldenGate HotCache & Live Events
Built-in support for HTML5 and WebSockets for rich mobile and cloud applications
Oracle Database 12c
Oracle Identity Management• Simplified Identity Governance
– Access Request Portal with Catalog and Shopping cart UI
– In product, durable customization of UIs, forms and work flows
– Privileged Account Management – leverage Identity connectors, workflows, audit
• Complete Access Management– Integrated SSO, Federation, API Management, Token
Management, Granular Authorization– Mobile application security with SSO, device finger
printing and step up authentication– Social identity log-in from popular social media sites– REST, OAuth, XACML
• Directories that Scale– OUD optimized on T4 hardware delivering 3x
performance gain and 15% of set up time
Contact
© OPITZ CONSULTING GmbH 2011 Seite 73Mobile Lösungen und BPM
Contact
Torsten WinterbergBusiness Development & Innovation
Bild durch Klicken auf Symbol hinzufügen
OPITZ CONSULTING Deutschland GmbHKirchstr. 6, 51647 Gummersbach, GermanyPhone: +49 173 54 79 [email protected]@t_winterberg
© OPITZ CONSULTING GmbH 2011 Seite 74Mobile Lösungen und BPM
Contact
Guido SchmutzTechnology Manager
Bild durch Klicken auf Symbol hinzufügen
Trivadis AGEuropa-Strasse 5, 8152 Glattbrugg, SchweizPhone: +49 173 54 79 [email protected]
@gschmutz