SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
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

Contenu connexe

Dernier

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
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.pdfsudhanshuwaghmare1
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
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 FMESafe Software
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
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 SavingEdi Saputra
 

Dernier (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
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
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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
 

En vedette

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 2024Neil Kimberley
 
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)contently
 
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 2024Albert Qian
 
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 InsightsKurio // The Social Media Age(ncy)
 
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 2024Search Engine Journal
 
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 summarySpeakerHub
 
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 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 Tessa Mero
 
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 IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
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 managementMindGenius
 
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...RachelPearson36
 
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...Applitools
 
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 WorkGetSmarter
 
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...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 

En vedette (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