Tools, IDE, & DevOps
Major companies run their business on SAP solutions written with the development language ABAP. This development language uses a proprietary server based programming environment. In 2008 the ABAP development tools team embarked on a journey to replace the existing toolset with a new modern toolset build on the open Eclipse platform.
The aim of this talk is to share the lessons the team learned during the last 8 years and explain the technical details behind them.
The talk will:
The CHOReVOLUTION Studio is a new Eclipse-based IDE for service providers and IoT business users. Based on BPMN2 diagrams and modelling, it provides a dynamic and secure choreography of web services, without requiring multithreading skills. The CHOReVOLUTION technologies cover all the steps from inception, to design, implementation and deployment in the cloud. First use cases are related to Urban Traffic Control and Smart Tourism. CHOReVOLUTION has received funding from the European Union’s Horizon 2020 research and innovation programme.
How does the Eclipse Platform build work? What are the challenges?
We will first explore the structure of the Eclipse Projects (Platform, JDT, PDE, etc.) and show how you can build it and test it locally. You will learn how the projects are aggregated for build and test, and how it is still possible to have modular, individual builds, to shorten single-project testing time.
The Xtend Language with its Rich String concept is a perfect match to build template based code generators. When using Xtext based models, it is quite easy to implement a generator by implementing the IGenerator interface. The Xtext framework enables integration of such generators in standalone and integrated environments with minimal customization effort.
Without a doubt, most of the things you're currently doing manually to configure your Eclipse development environment can be automated with Oomph. You've probably used the Eclipse Installer to create your installations, but Oomph does so much more.
Nearly every Eclipse user is aware what Xtext is and what it is useful for. It is always a pleasure to see in which kind of areas it is used.
One reason is clearly, that it is really easy to build a first working example in no time. The grammar alone is sufficient and the rest is done by a code generator. Xtext will generate stub classes, that are ready to fill in individual logic for different areas.
By doing that most of the things just work, because Xtext comes with a lot of defaults that suits in most of the cases.
Every project wants more code contributions. Having too many is a good problem, until you become the bottleneck. We'll follow along as an incoming contribution makes its way into a release jar with minimal reviewer intervention and maximum build automation.
Hudson CI will make sure the code builds. Automated tests will make sure the build passes. Sonar and FindBugs will make sure the code is optimized. Gerrit will help you review and with your +2, Maven, Tycho and jarsigner will package everything up and put it in your download area.
The Xtext framework has always been a very useful and successful part of the Eclipse world, because it makes it very easy to design programming languages and corresponding Eclipse tooling. Since the last two years the team was also working on adding support for other popular editing platforms, such as IntelliJ IDEA and web browsers in general.