Showing posts with label Publication. Show all posts
Showing posts with label Publication. Show all posts

Tuesday, February 02, 2010

[Pub] Eclipse Plugin for Mule and Mule Data Mapper

The main topic of the actual Eclipse Magazin is called Plugin Parade, where I published a short article about the new Mule IDE and Mule Data Integrator, two Plugins for Eclipse. The Mule IDE provides an integrated Mule server for Eclipse. Therefore the test of Mule environments in Eclipse is very comfortable and easy. As data transformation is a significant part in an ESB, a graphical support tool such as the Mule Data Integrator provides a powerful tool for integration developers. Mule Data Integrator is an end-to-end solution for complex data integration and transformation, simplifying the development, maintenance, and deployment of data maps. One of the major advantage of the data integrator is the integrated Test Suite.

The combination of the Mule IDE and Mule Data Integrator provides a really good environment for your integration development.

Tuesday, December 29, 2009

[Pub] Best-Practice Book and the New Year

Some of you might already have noticed, that we were not very active in blogging the last months. The reason is, that (most of us) were heavily involved in finishing our "Best Practice Software Engineering" book that will be available Feb/March 2010. The publisher is Spektrum Akademischer Verlag (Springer), the book is in German.

It was a lot of work and required most of our publishing energy. I believe the result is good and I hope that it will be useful for some of you.

A detailed description of the book can be found at the publishers website.

If you are as enthusiastic as we are, you can even pre-order it via Amazon ;-)

So, for now, I want to thank all readers of our Blog, hope you had a successful 2009 and wish you all the best for 2010. Looking forward to comments from you about our book and upcoming blog posts.

Thursday, July 02, 2009

[Pub] Mule Tutorial

In the current issue of the Java Magazin I published a tutorial to develop loose coupled systems with Mule. The tutorial illustrates the usage of an Enterprise Service Bus in an airport domain, where different airport systems communicate with each other over the ESB. In the example I use a set of important Enterprise Integration Patterns and show how these patterns are implemented in Mule. Some patterns I used are:
  • Event Driven Consumer
  • Content Based Router
  • Filter
  • Transformation
  • Message Splitter
The transports and connectors I used from Mule are:
  • JMS (Active MQ as message broker)
  • Quartz Transport
  • File Transport
  • XMPP transport for instant messaging
The source code of the tutorial can be downloaded here.

Have Fun!

Tuesday, January 20, 2009

[Pub] Data transformation in an SOA

I published a german on article on JAXCenter about data transformation in Service Oriented Architecture. When different applications talk to each other, you must find a suitable data format which all applications can interpret. For the most cases XML is the first choice, because there is a wide range of tool support and additional standards, like Schema Editors, XPath and the like.

In this article I give an overview about the Open Source Framework Smooks, which can be used for data transformation in SOAs. Smooks provide some interesting features:

  • Data Transformation (XML, CSV, EDI, Java, JSON,..) and custom transformers
  • Java Binding from any data source (CSV, EDI, XML,..)
  • Huge message processing by providing concepts like split, transform or route message fragments. You can also route fragments to different destinations, like JMS, File or databases
  • Message Enrichment
Above mentioned attributes/features are also ideal candiates where an Enterprise Service Bus can help. Rather existing Open Source ESBs, like Mule or JBoss ESB can profit from a technology like Smooks. In last part of the article I describe the Smooks extension for Mule which provides:
  • Smooks Transformer for Mule. The transformation logik is done in Smooks
  • Smooks Router for Mule. The routing logik can be configured in Smooks

Saturday, December 20, 2008

[Pub] Mule IDE

I published an article about the new Mule IDE in the current issue of the Eclipse Magazin. In the article I give an overview about Mule and how the IDE supports developers to model their Mule applications. The IDE provides the following features:
  • Mule project wizard
  • Mule runtime configuration (you can define different Mule runtimes)
  • Graphical Mule Configuration Editor
  • Start your Mule Server from your IDE
More information about the Mule IDE you can find on the Mule IDE homepage.

Tuesday, October 28, 2008

[Event] ESEM-Conferences

From October 6th-10th the Experimental Software Engineering International Week (ESEIW) took place in Kaiserslautern, Germany. The ESEIW was organized in four joint events:
  • 16th Annual Meeting of International Software Engineering Research Network ISERN, Oct 6th-7th
  • 6th International Advanced School of Empirical Software Engineering. IASESE, Oct 8th
  • 3rd International Doctoral Symposium on Empirical Software Engineering IDoESE, Oct 8th
  • 2nd International Symposium on Empirical Software Engineering and Measurement. ESEM, Oct 9th-Oct 10th
Major topics of the ISERN Meeting were
  • aggregation opportunities from experimental results,
  • application of Empirical Software Engineering to Software Architecture
  • discussion of an Empirical Research roadmap and associated key task within a time range up to 2010
  • application opportunities of empirical investigations using simulation.
The ESEM main conference is an established forum for researchers and practitioners to report and discuss recent research results in the area of empirical software engineering and metrics. The conference focuses on topics related to processes, design and structure of empirical studies, and results of specific studies.

Paper Presentation

We gave a short paper presentation in the track "Empirical evidence and Systematic review" titled with "An Empirical Investigation of Scenarios Gained and Lost in Architecture Evaluation Meetings" (D. Winkler, S. Biffl, M. A. Babar) which reports on initial findings on team effects in scenario brainstorming processes for architecture evaluation.
Abstract: Studying the effectiveness of scenario development meetings in the software architecture process is important to improve meeting effectiveness. This paper reports initial findings from analyzing the data collected in a controlled experiment aimed at studying the effectiveness of meetings in terms of gained and lost scenarios of individuals, real and nominal (non-communicating) teams. Our findings question the effectiveness of holding meetings since more important scenarios were lost than gained in these meetings. In the study nominal teams performed better than individuals and real teams.

The slides of our presentation are available for download.

Key Note Talks

Beside presentations and discussions of academic papers, "state of the art" presentations focus on relevant topics for industry and best software engineering practice:
  1. Using empirical methods to improve industrial technology transfer. (Harald Hoenninger, Vice President Corporate Research, Robert Bosch GmbH, Germany).
  2. Empirical Challenges in Ultra Large Scale Systems (Mary Shaw, Institute for Software Research, Carnegie Mellon University (USA)

Abstracts of the key notes are available for download.

Dietmar Winkler (edited by Alexander Schatten)

Monday, October 20, 2008

[Conf] CEE-SET Conference

Last week I joined the CEE-SET conference in Brno. On the conference I presented a paper written by Robert Thullner, Josef Schiefer and myself: We analyse the application of Open Source frameworks in implementing enterprise integration patterns. For that matter a series of scenarios was implemented with (combinations) of different frameworks like Apache Active MQ, Apache Camel, Apache Service Mix and Mule.

The paper is available for download.

Tuesday, August 05, 2008

[Pub] JBPM meets ESB

The combination of a process engine and an Enterprise Service Bus (ESB) is one interesting aspect of modern service oriented architectures (SOA). Both, an ESB and process engines provide similar concepts and software architects often have problems to find the right solution. Therefor I and Bernd Rücker wrote an article in the German Java Magazin about it. To have a practical showcase the integration is shown with a small example using JBoss jBPM and two Open Source ESBs: JBoss ESB and Mule.

The easy showcase implements the following example: Some event is generated and saved as a file (This may be an order, some incident, an alert, whatever). This file is picked up by the ESB and a new jbpm process is started. The process contains a human task, where somebody has to review the data of the event and decides, if that event can be ignored (e.g. a false alert) or if it has to be handled. In the latter case, the event is sent to an existing case management system via Web Service (could be Lotus Notes or something like that). The case management systems sends a JMS message as soon as the case is closed. This message is again picked up by the ESB and the right process instance is triggered (called "signaled" in jBPM).

The article covers the following topics:
  • The basic combination of a process engine and an ESB
  • When makes it sense to combine a process engine with an ESB
  • How does JBoss ESB integrate jbpm and which Event Handler the proces designer can use to call ESB services
  • How does Mule integrate jbpm and which Event Handlers does Mule provide for the process designer
  • Lessons Learned :)
To compare the ESB implementatations the show case was implemented with JBoss ESB available here and Mule, available here. Following the links, you will find a detailed description about the two implementation scenarios.

Friday, June 13, 2008

[Pub] The tenth book is out!

Well again something to celebrate:
My tenth book is out!
(is it time to stop now?)

If was again a ot of work but the result looks good and contains quality. The Proceedings of the First International Conference on Object Databases ICOODB 2008 (ICOODB.org) have been printed and are now being send around the world.

Please drop me a line if you wish to order a copy!

Any hints for the next ten books are welcome :-)
Best
Stefan

Wednesday, June 11, 2008

[Event] Software and Systems Essentials Conference 2008

From April 28-30 the 2nd Software and Systems Essentials Conference 2008 took place in Bern, Switzerland.

An important goal of the conference is bringing together people from business, industry, and academia who are working in software engineering and information technology with its various aspects. Discussions and exchange of experiences between users in public and industrial contexts and vendors of software solutions (regarding software development frameworks) were in the main focus of the event. 

Main topics of the conference were software processes and the exchange of experience on the individual application in various contexts (e.g., in the public application domain), project management regarding systematic systems development processes, and software quality. Among several topics in these areas, I recognized a focus on traceability, i.e., requirements tracing from requirements analysis over design to software code (vertical traceability) and vice versa and linking requirements and specifications to software code and test cases on various levels of abstraction (horizontal traceability). 

We gave a presentation in the track "Testing and Quality Assurance" titled with "QATAM: ein Szenariobasierter Ansatz zur Evaluierung von Qualitätssicherungsstrategien" (D. Winkler, C. Denger, F. Elberzhager, and S. Biffl). This presentation is a result of an ongoing project of TU Vienna and Fraunhofer IESE  in Kaiserslautern, Germany (Institute for Experimental Software Engineering).

Summary of the presentation
 
Efficient development of complex high-quality software system requires systematic planning activities. The selection of an appropriate software process, e.g., the V-Model XT, is a success-critical activity in software development. Software processes define the sequence of steps within a software development project (e.g., what products are required at which milestone). Additionally, constructive and analytical methods support developers in building a product (constructive methods) and verifying/validating  software solutions (analytical methods). 

Nevertheless, resources typically are critical issues in software engineering practice. Thus, an optimal resource planning is required with respect to quality assurance (QA) planning for small- and medium enterprises as well as for large companies. The "Quality Assurance Tradeoff Analysis Method" (QATAM) focuses on the definition and evaluation of quality assurance strategies to enable optimal application of a balanced set of agreed methods along the project life-cycle. The given presentation includes the basic concept of QATAM and illustrates its application with respect to better planning method selection and application regarding a more efficient project execution. 

The slides of our presentation (in german language) are available for download.

The slides of all presentations will be available to the conference participants via the conference website.

Keynotes

Beside presentations and discussions of academic and industry papers, "state of the art" presentations focus on relevant topics for industry and best software engineering practice:
  1. E-Government Programm Schweiz – Ein komplexes Programm in einem komplexen System (Peter Fischer, EFD) 
  2. From informal process sketches to enactable process: How to represent your development process with SPEM 2.0, Rational Method Composer, and Team Concert  (Peter Haumer, IBM) 
  3. Agiles Projektmanagement für große Projekte (Bernd Österreich, OOSE)
Keynote presentations are available on the conference website.

Dietmar Winkler (published and edited by Alexander Schatten)

Thursday, May 29, 2008

[Pub] What's new in Mule 2

Mule from MuleSource is one of the most used Open Source ESB in actual integration projects. On March 31, Mulesource announced the final Mule 2 release, a popular Open Source ESB. This major release comes with some new features and architectural improvements. For this purpose I've written an article for all german audience interested in Mule, for the JAX Center. The article is available online and covers the following topics:
  • The new schema based configuration approach
  • API changes
  • New concepts such as Mule Context and Registry
  • The role of Spring in Mule 2
  • The changes of Transports and Transformers
  • Migration from Mule 1.x to Mule 2

We've upgrade our prototype application to Mule 2, illustrating the basic concepts of an ESB. The prototype is available on here.

Friday, May 02, 2008

[Pub] Service Composition

In my recent (German) Infoweek article I discuss service composition using the SCA and SDO standard and the open source runtime Apache Tuscany. This article is freely available on the Infoweek site. I personally think that both standards are very interesting and not enough known at the moment. The Apache Tuscany project is still in the incubator, but seems to have a good momentum. Recently a new version was announced, that also provides an integration with OSGi as the runtime works with Apache Felix. Javalobbly has an article about this new release and the Tuscany/OSGi integration.

However, what I am still waiting for is an integration of SCA/SDO in Apache Tuscany with JBI, i.e., that the runtime can be deployed as a JBI component e.g. in Service Mix. I have no objections against OSGi, however, my feeling is, that it would fit even better in the integration context of an JBI enterprise service bus.

Tuesday, April 29, 2008

[Pub] Implementing Enterprise Integration Patterns using Open Source Frameworks

Robert Thullner recently finished his excellent master-thesis with the title "Implementing Enterprise Integration Patterns using Open Source Frameworks". In his thesis he is refering to the EI Patterns described by Hohpe and Woolfe. Robert analyses a set of leading OS frameworks in this domain (Mule, Apache ActiveMQ, Service Mix and Camel) for how they implement patterns and how they support developers in implementing EI scenarios using patterns. (Particularly Camel impressed us from the conceptual level and also the ease of use).



He defines a set of scenarios using specific patterns (the figure above shows one of the scenarios) and are implemented with various (combinations) of technologies to evaluate and demonstrate the capabilities of the specific technology or mix of technologies. Finally he categorises the frameworks and gives hints on implementation best-practices.

I don't want to go into details here, but who is interested in Enterprise Integration Patterns and Open Source frameworks might want to download the full thesis here. The sources of his examples can be downloaded as well.

Wednesday, April 23, 2008

[Conf] IDC SOA Conference

Today I was invited to hold the keynote speach at IDCs SOA conference in Vienna. I was talking about building agile business processes from "decoupled" services. I discussed three different views on aggregation: 
  • A "formal" top-down approach using Standards like BPEL or SCA; this approach typically is process driven
  • Event-driven architectures, which is a rather bottom-up approach (and a very agile and flexible one!)
  • And finally a data-driven approach using "syndication" features and standards, typically following the REST principles (which reminds me, that I want to write something about REST since an eternity...)
If you are interested in my presentation download it from my website.

Wednesday, April 16, 2008

[Pub] Enterprise Service Bus - Concepts

For our German speaking audience: Markus wrote a very good article about Enterprise Service Bus concepts for jaxenter. This article gives a good introduction on ESB concepts, Integration Patterns, Binding, Transformation... the whole program :-)

It is freely available, so...

Thursday, April 03, 2008

[Pub] Open Source ESB Mule

In the current issue of the Java Magazin I published my second article focusing on Enterprise Service Bus. This article illustrates the concepts and basic functionalities of an ESB based on the Open Source ESB Mule. In order to make the illustration more manifest I (supported by Werner Guttmann) implemented a prototyp with Active MQ, JBPM and Mule. A description and a download of the prototyp is available here.

Mule ESB is one of the most used Open Source integration platform in the Java community. This article describes the major components of Mule, such as:
  • Mule Architecture and the programing model of Mule
  • Service Components (alias Universal Message Objects)
  • Endpoints, Routers, Filters
  • Available Transports and how a transport is organised
On March 31, Mulesource announced the major Mule 2.0 release. The new version of Mule comes with a complete new schema-basd configuration style based on Spring 2.x (Enxtensible XML Authoring). Configuration should be easier as before.

As Mule 2.0 uses Spring as default configuration mechanism Mule user can also use Spring cababilities without thoughts, like:
  • Spring AOP
  • Springs transaction management
  • Resource handling of Spring
  • and many other features (DI, ...)
A full list of what is new in Mule 2.0 can be found here. At present many extensions around Mule, available on Muleforge, will be updated to Mule 2.0. After updating the prototyp on Mule 2.0 I will write an extra blog with my impressions about the new version. So for this time, I'll suggest to download the prototyp and see the power of Mule.

Friday, March 07, 2008

[Pub] Enterprise Service Bus Concepts

In the current issue of the Javamagazin I've published a German article discussing the basic concepts of an Enterprise Service Bus.

At present there are many talks, discussions and investments around Enterprise Service Bus technologies. This shows that integration in software systems are still a major challenge and such projects result in a huge implementation-complexity. As a new architecture paradigm for integration problems, an ESB should reduce this complexity and enable integration-developers to develop on a abstract layer. Therefore developers can concentrate on their problem domain.

The article emplaces:
  • Problems of historical integration projects and the birthday of the ESB
  • ESB and Integration Patterns. There is a strong association between ESB and Integration patterns, rather EIP are the basic of an ESB
  • Components of an ESB, including MOM, Binding Components, Transport, Transformers, Routers and Endpoints
  • ESB and JBI?
  • Which role does an ESB play in a SOA?
At this point I want to say thank you to Alexander and Werner for their feedback. In the next issue of the Javamagazin I illustrate the concepts of an ESB by using Mule OpenSource ESB from Mulesource.

Tuesday, November 20, 2007

[Pub] Central and East European Conference on Software Engineering Techniques

The 2nd IFIP Central and East European Conference on Software Engineering Techniques (CEE-SET 2007), was held in Poznan, Poland from 10 to 12 October 2007. The conference aims for exchanging ideas and experiences concerning software engineering techniques, and this year special topic was "balancing agility with discipline". As Barry Boehm and Richard Turner (2003) have noted that both agile methods and plan-driven (discipline) methods present values for successful software development in a changing world, however following question arise, “how much formalism is enough in order to keep a (complex) system responsive to changes?”.

Derived from needs and experiences from Siemens PSE, we presented two technical papers concerning balancing the agility with discipline in context of requirement tracing and coordination support in global software development:

Dindin Wahyudin, Matthias Heindl, Benedikt Eckhard, Alexander Schatten and Stefan Biffl, In-time role-specific notification as formal means to balance agile practices in global software development settings:
In global software development (GSD) projects, distributed teams collaborate to deliver high-quality software. Project managers need to control these development projects, which increasingly adopt agile practices. However, in a distributed project a major challenge is to keep all team members aware of recent changes of requirements and project status without providing too little or too much information for each role. In this paper we introduce a framework to define notification for development team members that allows a) measurement of notification effectiveness, efficiency, and cost; b) formalizing key communication in an agile environment; and c) providing method and tool support to implement communication support. We illustrate an example scenario from an industry background to explain the concept and report results from an initial empirical evaluation. Main results are that the concept allows determining and increasing the effectiveness and efficiency of key communication in a global software development project in a sufficiently formal way without compromising the use of agile practices. (Paper, Presentation)
Matthias Heindl and Stefan Biffl, A Framework to Balance Tracing Agility and Formalism:
Software customers want both sufficient product quality and agile response to requirements changes. Formal software requirements tracing helps to systematically determine the impact of changes and keep track of development artifacts that need to be re-tested when requirements change. However, full tracing of all requirements on the most detailed level can be very expensive and time consuming. In this paper we introduce an initial “tracing activity model”, a framework that allows measuring the expected cost and benefit of tracing approaches. We apply a subset of the activities in the model in a study to compare 3 tracing strategies, ranging from agile “just in time” tracing to fully formal tracing, in the context of re-testing in an industry project at a large financial service provider. In the study a) the model was found useful to capture costs and benefits of the tracing activities to compare the different strategies; b) a combination of upfront tracing on a coarse level of detail and focused just-in-time detailed tracing can help balancing tracing agility (for use in practice) in a formal tracing framework (for research and process improvement). Presentation

All accepted papers were included in the proceedings published as Springer Lecture Notes in Computer Science. Beside presentations and discussions of technical papers, key note presentations focused on deriving the need for empirical evaluation of “state of the art” methods and tools such as agile development in different contexts. Dieter Rombach (head of Fraunhofer Institute for Experimental Software Engineering) suggested that many researchers in SE have provided tools and methods that seem useful, however most of them were never or only partially evaluated with external validation such as industry implementation.

Bertrand Meyer, from ETH, Zürich, delivered the second key note with emphasis on software engineering principles related to agility during development process. In his talk, one interesting point was that, the skeptic toward model-driven development (MDD), as he noticed that current MDD approaches put a focus on developing more user-oriented models with lack of intention toward code and programming as part of the model. He insisted that code or programs can be considered as model of the real system, with a high degree of responsiveness to changes.

In conjugation with the conference, several sessions called as Software Engineering in Progress (SEP) were held on current issues in on-going research in field of software engineering, which in my opinion were very good for new researcher to promote their current achievements and to receive expert feedback in early stage of their works.

Overall, the conference was well organized, and attracted more than 60 participants and presenters from academic and industrial background. I discussed the overall quality of the conference with colleagues from Linz, Dresden, and Bozen, and we agreed that the content of the papers in general had in good quality and were technically sound; many of the presentations sparked lively discussions during the sessions.

Dindin Wahyudin (Edited by Alexander Schatten)

[Pub] Modeling Complex Systems with UML (ICEIS)

The development of complex systems calls for appropriate tools; however, at an the beginning of a project powerful tools that enforce too much formalism early on may hinder designers more than they provide support. For sketching UML draft models the Open Source tool UMLet has become quite popular and warrants an evaluation of the tool’s usability compared to industry standard tools.

Ludwig Meyer presented the paper "Explorative UML Modeling: Comparing the Usability of UML Tools" at the 2007 ICEIS in Funchal/Madeira.

The paper argues that there are three main ways UML tools are used in large scale software engineering:
  1. to exploratively sketch key system components during initial project stages
  2. to manage large software systems by keeping design and implementation synchronized
  3. to extensively document a system after implementation
Professional tools cover (3) to some extent, and attempt to cover (2), but the vast number of programming languages, frameworks and deployment procedures makes those tasks all but impossible. By aiming at these two goals, tools must enforce formal UML language constructs more rigorously and thus become more complicated. The can become unsuitable for (1).

The paper discusses explorative UML modeling and compares the industry standard Rational Rose and the open-source UML sketching tool UMLet (available at http://www.umlet.com). It defines usability measures and assesses both tools' performance using 16 representative use cases that are typical to the creation and modification of UML diagrams.

Dindin Wahyudin (Edited by Alexander Schatten)

Wednesday, October 24, 2007

[Pub] ICEBE Conference: Agile Business Process Management with S&R

Currently the International Conference on E-Business Engineering (ICEBE) is taking place in Hong Kong. I am presenting a paper dealing with agile business process management, a joint work with Josef Schiefer.

The core consideration is, that business strategies that were successful in the 80s and 90s are not necessarily successful in todays fast changing and connected economy. We seem to be moving from traditional over dynamic/virtual enterprises to a general structure of agile enterprises. Haeckl an all suggest a move from "Make-and-sell" towards a "Sense-and-Respond" strategy.

Speaking of agility: what does agility mean: it is generally spoken the capacity of a system to react to unforseen changes in the systems environemnt. We all know, that the software industry faced and still faces issues, as meanwhile requirements often change even during the engineering process, so that it is often not clearly known in the beginning which product is needed in the end. The consequence is clear: software developers have to "embrace change", meaning that they have to develop their software in a way, that change requests during the process can be handled.

Business process management will, this is our theory, follow the same route in the next years. Top-down plannes processes will not support changes in the business infrastructure and will be a legacy. Future business IT will have to cope with ever changing processes. Adaptiveness will take precedence over short-time efficiency considerations and plan-driven operations. In other words, the faster competitor will win, not the one who is (in thery) more efficient.

This apparently also poses significant challenges on software engineers who have to deal with such infrastructures in the future.

In our paper we go into more depth and introduce the architecture and implementation of sense-and-respond systems that allow agile reaction on real-world events. To sum it up:
  • We need real-time business information with minimal latency
  • Automatic discovery of situations and exceptions and generation of appropriate reactions
  • Generating more accurate forecasts in near-realtime using "live" and historic data
  • Integration of internal and external data sources
  • Not only "backend infrastructure": Focus on tool support for various target groups and problem domains
For more information, check out our paper and also download the presentation to get the figures.