2. Center for
Open
Middleware
A real world integration use case
2
Same domain,
similar concepts
Different schemas,
technologies,
interfaces
3. Center for
Open
Middleware
Different levels of EAI
3
• Physical Integration
• Interconnection of devices via computer networks
• Application Integration
• Application connectivity (interfaces)
• Data integration
• Syntactic heterogeneity
• Structural heterogeneity
• Semantic heterogeneity
• Process Integration
• Orchestration
• Choreography
4. Center for
Open
Middleware
Enterprise Application Integration (EAI)
4
• Businesses processes spread across
• Multiple domains / aspects
• Multiple organizations
• Application heterogeneity
• Data model
• Business logic and restrictions
• Interfaces
• Integrated applications
• Share data and processing among any connected applications in
the enterprise
• Exchange business level information in formats and contexts that
each application understand
5. Center for
Open
Middleware
ALM iStack Project
5
• Objective:
•To evaluate and foster the adoption of Linked Data
technologies as the means for facilitating real-time
application integration in enterprise-grade environments.
Center for
Open
Middleware
6. Center for
Open
Middleware
Linked Data for EAI
6
• What are the concrete benefits that Linked Data-based
EAI brings when compared to the current approaches
followed in industry?
• Is this approach mature and enterprise ready? If not,
which are the gaps / challenges ?
• What are the lessons learned from the current projects
using Linked Data for EAI?
7. Center for
Open
Middleware
Why Linked Data ?
7
• Global identifiers that are dereferenceable for data
• Easily accessible data using HTTP
• Reconciliation of duplicate data
• Avoid data silos
• Typed links between data from different sources
• Ability to traverse through data to find more information and context
• Flexible graph based RDF data model
• Easy to merge data from different sources
• Multiple schemas can live together
• Easy to evolve
• Richer knowledge representation and modelling
• Mappings without complex transformations
• By adding more information rather than converting data
Not
an exhaustive
list
8. Center for
Open
Middleware
Linked Data
8
• Use URIs as names for things
• Use HTTP URIs so that people
can look up those names.
• When someone looks up a URI,
provide useful information, using
the standards (RDF*, SPARQL)
• Include links to other URIs. so
that they can discover more
things
REST
• Resource identification
• Uniform interfaces
• Self-descriptive messages
• Hypermedia as the engine of
application state (HATEOAS)
• Stateless interactions
9. Center for
Open
Middleware
Linked Data Platform
http://www.w3.org/2012/ldp/
9
• RESTful protocol for Read / Write Linked Data
• Extensions to HTTP protocol
• Pagination, ordering, partial updates, introspection, creation factories,
collections
• Standardization Interoperability
• Developed by W3C Linked Data Platform Working Group
• IBM, Oracle, Fujistu, Base22, OpenLink Software, UPM, University of
Oxford, DERI …
• Progress
• Currently addressing first round of public comments
• Ready for the second public review soon
• Current and potential implementations
• OpenLink Virtuoso, Eclipse Lyo, ALM iStack middleware, Apache
Marmotta (Incubating), Callimachus, Tabulator, rdflib.js, RWW.IO, …
10. Center for
Open
Middleware
ALM Stack implementation
10
• A proof of concept implementation using W3C Linked
Data Platform protocol for application integration
• Application Lifecycle Management (ALM) domain
• Integrating tools used in software development process
• Uses extended version of OASIS Open Service Lifecycle
Collaboration (OSLC) vocabularies
• Open Source under Apache License
12. Center for
Open
Middleware
Lessons learned
12
• Incremental adaption
• Native LDP support Vs LDP adapters
• Publishing application data as Linked Data is not hard
• Consuming link data is not as easy
• Coreferences, provenance, licensing, reliability, business logic
integration
• A lot to learn from other areas
• SOA, Web Services, Web Applications
• Databases
• Challenging enterprise requirements
• Security, RDF data validation, transactions, performance, etc.
13. Center for
Open
Middleware
Security
13
• Security requirements
• Authentication, Authorization, Accounting (AAA)
• Integrity, Confidentiality
• Privacy, licensing
• Can’t we just use what is used by current web apps ?
• HTTP Basic Auth and Digest Access Auth
• TLS / SSL
• User-centric decentralized identity systems
• OpenID, BrowserID
• OAuth
• Can we do more with Linked Data ?
• WebID
• Web Access Control
• S4AC, PPO, RelBAC, and AMO ontologies
• Future plans
• W3C Web Access Control Working Group
14. Center for
Open
Middleware
RDF Data Validation
14
• Application needs to do input validations
• Don’t we already have schema languages ?
• RDF Schema and OWL
• Inferencing vs validation
• Open World Assumption and Non-unique Name Assumption
• Current approaches
• OWL with integrity constraints (Alternative semantics for OWL)
• SPARQL and SPIN-based solutions
• Resource Shapes
• and a lot more
• https://www.w3.org/2012/12/rdf-val/agenda
• Future plans
• W3C RDF Validation Working Group
15. Center for
Open
Middleware
Transaction in LDP
15
• Do we really need transactions ?
• Data consistency is vital for some applications
• What can we learn from databases and web apps ?
• Distributed databases
• ACID vs BASE
• Current approaches for RESTful applications
• Transactions as resources (ROA)
• Try-Cancel/Confirm pattern
• Optimistic Concurrency control methods (with E-tags)
• Lockable resources
16. Center for
Open
Middleware
and more topics
16
• Vocabulary Management and Discovery
• Resource Versioning
• Provenance management
• Introspection Mechanisms
• Event Processing
• Application models, design patterns, anti-patterns
• Resource identity management (coreference & naming
governance)
• Partial resource retrievals and queries
• Performance and caching
• Testing and monitoring
Almost every organization today uses set of informations systems in their
The ideas that I will be presenting today have their origin in the work we are carrying out in the context of the ALM iStack project in collaboration with Bank of Santander.
The objective of the project is to foster the adoption of Linked Data as an enabler technology for the integration of ALM applications in enterprise-grade environments.
One of the challenges that we’ve found out during this first year of work is the necessity of ensuring that the data exchanged between the enterprise applications is consistent and valid while also keeping the integrity of the data in each of these applications.