SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
EMF large-scale modeling
                                    outside of Eclipse
                                          by Renat Zubairov




Donnerstag, 3. November 11
About me



    Product Owner at Talend (ex. SOPERA)

    Open source contributions to:
      - Apache Tapestry
      - Emf4Swing
      - Eclipse BPMN Designer
      - Eclipse Swordfish + Swordfish Tooling
      - Smooks
      - Talend AI Tooling

                             @zubairov

                             github.com/zubairov

   © Talend 2011               follow me on @zubairov   2

Donnerstag, 3. November 11
What I’m going to talk about?




   © Talend 2011             follow me on @zubairov   3

Donnerstag, 3. November 11
Smooks Project


    ‣ Smooks is a data integration framework for ‘building
            applications for processing XML and non XML data
            using Java’
    ‣       Main features
        ‣     Java Binding
        ‣     Transformation
        ‣     Large message processing
        ‣     Message enrichment
        ‣     Validation
        ‣     EDI & UN/EDIFACT support




   © Talend 2011                         follow me on @zubairov   4

Donnerstag, 3. November 11
EDI & UN/EDIFACT


    ‣ Major EDI standards
       ‣     UN/EDIFACT (ouside US)
       ‣     US ANSI X12                              UNA:+.? '
       ‣     TRADACOMS                                UNB+IATB:1+6XPPC+LHPPC+940101:0950+1'
                                                      UNH+1+PAORES:93:1:IA'
       ‣     ODETTE                                   MSG+1:45'
       ‣     IATA standards                           IFT+3+XYZCOMPANY AVAILABILITY'

    ‣ UN/EDIFACT
                                                      ERC+A7V:1:AMD'
                                                      IFT+3+NO MORE FLIGHTS'
       ‣ 26 Directories, ~160 Message types           ODI'
             each.                                    TVL+240493:1000::1220+FRA+JFK+DL+400+C'
                                                      PDI++C:3+Y::3+F::1'
                                                      APD+74C:0:::6++++++6X'
                                                      TVL+240493:1740::2030+JFK+MIA+DL+081+C'
                                                      PDI++C:4'
                                                      APD+EM2:0:1630::6+++++++DA'
                                                      UNT+13+1'
                                                      UNZ+1+1'




   © Talend 2011                      follow me on @zubairov                                    5

Donnerstag, 3. November 11
Old UN/EDIFACT processing approach with Smooks




                                       Proprietary
  Dictionary                  ECT      EDI file Model            EJC     Java Sources




                              EDI                              Mapper      Java
    EDI File                          SAX Events                        Instances
                             Parser



                                                                        Smooks code


   © Talend 2011                      follow me on @zubairov                            6

Donnerstag, 3. November 11
New processing approach with Smooks and EMF




                                                                  Gen
  Dictionary                  ECT        ECore Model
                                                                 model
                                                                          Java Sources




                              EDI                                EMF        Java
    EDI File                          SAX Events               Runtime   Instances
                             Parser



                                                                         Smooks code
                                                                         EMF code
   © Talend 2011                      follow me on @zubairov                             7

Donnerstag, 3. November 11
By-product: Eclipse EDI Editor




   © Talend 2011             follow me on @zubairov   8

Donnerstag, 3. November 11
Challenges




Donnerstag, 3. November 11
Culture and positioning




                             Apache Planet




   © Talend 2011                         follow me on @zubairov   10

Donnerstag, 3. November 11
Build challenges


    ‣ Maven is a de-facto standard.
    ‣ Latest available EMF JAR file from http://mvnrepository.com is 2.6.0 build in
           June 2010
    ‣   Missing sources
    ‣   Broken dependency tree




   © Talend 2011                   follow me on @zubairov                             11

Donnerstag, 3. November 11
© Talend 2011             follow me on @zubairov   12

Donnerstag, 3. November 11
Coupling

    For example to parse the XML Schema with EMF I would need:

    ‣    org.eclipse.core.runtime
    ‣    org.eclipse.core.jobs
    ‣    org.eclipse.osgi
    ‣    org.eclipse.equinox.app
    ‣    org.osgi.foundation
    ‣    servlet-api




     Do we need all of it?




   © Talend 2011                    follow me on @zubairov       13

Donnerstag, 3. November 11
Re-using resulting artifact


       ‣ Artifacts should be usable in four runtime environments
          ‣        Java standalone
          ‣        Eclipse (as parts of XML Catalog)
          ‣        OSGi runtime (together with Apache Camel)
          ‣        WAR file deployed on Google App Engine

       ‣ Different configuration discovery mechanisms
          ‣ extension points from plugin.xml / fragment.xml in Eclipse environment
          ‣ Manual classpath discovery in Java Standalone + WAR
          ‣ OSGi configuration admin and blueprint in OSGi
       ‣ As a result we use duplicate information in all three of them.


   © Talend 2011                            follow me on @zubairov                   14

Donnerstag, 3. November 11
Deploying to Google App-Engine

    ‣ A prototype of App-Engine deployed
         service for converting UN/EDIFACT
         into XML.

         http://edi-to-xml.appspot.com

    ‣ XML produced by that service
         references schemas generated
         based on Ecore model.
    ‣    WARNING: AppEngine does not
         support signed JAR files, and all
         EMF jar files are signed. Issue
         #3754 on Google App Engine issues.




   © Talend 2011                         follow me on @zubairov   15

Donnerstag, 3. November 11
EMF scalability issues (for our use-cases)


    ‣ We have 26 Directories with ~160 message types, so, all together it’s
           ~80k classifiers
    ‣   Serializing ECore model with 336 classifiers and 1155 structural features as
           annotated XML Schema takes 5 minutes on the Intel Core i7.
        ‣ And that’s only for one message type out of ~4160.
    ‣ Quickly got answer on the EMF Forum:
        ‣ Answer from Ed: ‘I don't imagine folks change their models so often that a few
              minutes for a large schema is a big concern...’ see http://www.eclipse.org/forums/
              index.php/m/663952/




   © Talend 2011                          follow me on @zubairov                                   16

Donnerstag, 3. November 11
Why would you care?




   © Talend 2011             follow me on @zubairov   17

Donnerstag, 3. November 11
Questions?

                             mail them to Renat.Zubairov at gmail.com
                                               or tweet to: @zubairov




Donnerstag, 3. November 11

Mais conteúdo relacionado

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 

Destaque

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Destaque (20)

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 

EMF large-scale modeling outside Eclipse. EclipseCon Europe 2011

  • 1. EMF large-scale modeling outside of Eclipse by Renat Zubairov Donnerstag, 3. November 11
  • 2. About me Product Owner at Talend (ex. SOPERA) Open source contributions to: - Apache Tapestry - Emf4Swing - Eclipse BPMN Designer - Eclipse Swordfish + Swordfish Tooling - Smooks - Talend AI Tooling @zubairov github.com/zubairov © Talend 2011 follow me on @zubairov 2 Donnerstag, 3. November 11
  • 3. What I’m going to talk about? © Talend 2011 follow me on @zubairov 3 Donnerstag, 3. November 11
  • 4. Smooks Project ‣ Smooks is a data integration framework for ‘building applications for processing XML and non XML data using Java’ ‣ Main features ‣ Java Binding ‣ Transformation ‣ Large message processing ‣ Message enrichment ‣ Validation ‣ EDI & UN/EDIFACT support © Talend 2011 follow me on @zubairov 4 Donnerstag, 3. November 11
  • 5. EDI & UN/EDIFACT ‣ Major EDI standards ‣ UN/EDIFACT (ouside US) ‣ US ANSI X12 UNA:+.? ' ‣ TRADACOMS UNB+IATB:1+6XPPC+LHPPC+940101:0950+1' UNH+1+PAORES:93:1:IA' ‣ ODETTE MSG+1:45' ‣ IATA standards IFT+3+XYZCOMPANY AVAILABILITY' ‣ UN/EDIFACT ERC+A7V:1:AMD' IFT+3+NO MORE FLIGHTS' ‣ 26 Directories, ~160 Message types ODI' each. TVL+240493:1000::1220+FRA+JFK+DL+400+C' PDI++C:3+Y::3+F::1' APD+74C:0:::6++++++6X' TVL+240493:1740::2030+JFK+MIA+DL+081+C' PDI++C:4' APD+EM2:0:1630::6+++++++DA' UNT+13+1' UNZ+1+1' © Talend 2011 follow me on @zubairov 5 Donnerstag, 3. November 11
  • 6. Old UN/EDIFACT processing approach with Smooks Proprietary Dictionary ECT EDI file Model EJC Java Sources EDI Mapper Java EDI File SAX Events Instances Parser Smooks code © Talend 2011 follow me on @zubairov 6 Donnerstag, 3. November 11
  • 7. New processing approach with Smooks and EMF Gen Dictionary ECT ECore Model model Java Sources EDI EMF Java EDI File SAX Events Runtime Instances Parser Smooks code EMF code © Talend 2011 follow me on @zubairov 7 Donnerstag, 3. November 11
  • 8. By-product: Eclipse EDI Editor © Talend 2011 follow me on @zubairov 8 Donnerstag, 3. November 11
  • 10. Culture and positioning Apache Planet © Talend 2011 follow me on @zubairov 10 Donnerstag, 3. November 11
  • 11. Build challenges ‣ Maven is a de-facto standard. ‣ Latest available EMF JAR file from http://mvnrepository.com is 2.6.0 build in June 2010 ‣ Missing sources ‣ Broken dependency tree © Talend 2011 follow me on @zubairov 11 Donnerstag, 3. November 11
  • 12. © Talend 2011 follow me on @zubairov 12 Donnerstag, 3. November 11
  • 13. Coupling For example to parse the XML Schema with EMF I would need: ‣ org.eclipse.core.runtime ‣ org.eclipse.core.jobs ‣ org.eclipse.osgi ‣ org.eclipse.equinox.app ‣ org.osgi.foundation ‣ servlet-api Do we need all of it? © Talend 2011 follow me on @zubairov 13 Donnerstag, 3. November 11
  • 14. Re-using resulting artifact ‣ Artifacts should be usable in four runtime environments ‣ Java standalone ‣ Eclipse (as parts of XML Catalog) ‣ OSGi runtime (together with Apache Camel) ‣ WAR file deployed on Google App Engine ‣ Different configuration discovery mechanisms ‣ extension points from plugin.xml / fragment.xml in Eclipse environment ‣ Manual classpath discovery in Java Standalone + WAR ‣ OSGi configuration admin and blueprint in OSGi ‣ As a result we use duplicate information in all three of them. © Talend 2011 follow me on @zubairov 14 Donnerstag, 3. November 11
  • 15. Deploying to Google App-Engine ‣ A prototype of App-Engine deployed service for converting UN/EDIFACT into XML. http://edi-to-xml.appspot.com ‣ XML produced by that service references schemas generated based on Ecore model. ‣ WARNING: AppEngine does not support signed JAR files, and all EMF jar files are signed. Issue #3754 on Google App Engine issues. © Talend 2011 follow me on @zubairov 15 Donnerstag, 3. November 11
  • 16. EMF scalability issues (for our use-cases) ‣ We have 26 Directories with ~160 message types, so, all together it’s ~80k classifiers ‣ Serializing ECore model with 336 classifiers and 1155 structural features as annotated XML Schema takes 5 minutes on the Intel Core i7. ‣ And that’s only for one message type out of ~4160. ‣ Quickly got answer on the EMF Forum: ‣ Answer from Ed: ‘I don't imagine folks change their models so often that a few minutes for a large schema is a big concern...’ see http://www.eclipse.org/forums/ index.php/m/663952/ © Talend 2011 follow me on @zubairov 16 Donnerstag, 3. November 11
  • 17. Why would you care? © Talend 2011 follow me on @zubairov 17 Donnerstag, 3. November 11
  • 18. Questions? mail them to Renat.Zubairov at gmail.com or tweet to: @zubairov Donnerstag, 3. November 11