Wednesday, December 3, 2008

On EclipseCon Idol...

The submission deadline for EclipseCon 2009 has come and gone, and now the program committee has the unpleasant duty of selecting from among the many excellent submissions. But, like all good reality shows, you, the "viewer", get to provide input on what you think should be selected. Don't let your favorite submissions "get sent home"! Providing feedback will not only make the program committee's job easier, but will help ensure that the talks YOU want to see make it onto the program.

I've submitted several proposals this year (see below), and I'd like your feedback. Please follow the link to the EclipseCon submission system to post any comments you may have.

Representational State Transfer (REST) is a style of software architecture for distributed hypermedia systems such as the World Wide Web. However, it is possible to design any enterprise software system in accordance with the REST architectural style without using the HTTP protocol and without interacting with the World Wide Web. Systems that follow the principles of REST often referred to as RESTful. Proponents of REST argue that the Web enjoyed the scalability and growth that it has had as a direct result of a few key design principles. Among these principles are the notions that application state and functionality are divided into resources and that every resource is uniquely addressable using a universal syntax for use in hypermedia links. Another key principle of REST is that all resources share a uniform interface for the transfer of state between client and resource, consisting of a constrained set of content types and a constrained set of well-defined operations.

The Eclipse Modeling Framework (EMF) provides a Java runtime framework and tools for generative application development and fine-grained data integration based on simple models. Models can be specified directly using EMF's metamodel, Ecore, or imported from other forms, including UML and XML Schema. Given a model specification, EMF can generate a corresponding set of Java interfaces and implementation classes that can easily be mixed with hand-written code for maximum flexibility. When deployed, applications developed with EMF benefit from a powerful and extensible runtime, which, among other features, includes a persistence mechanism which has always supported the principles of REST – perhaps even before the term "REST" became popular.

This tutorial will provide an introduction to EMF, including alternatives for specifying a model, EMF's code generation tools, and key runtime framework concepts. As a practical usage of this knowledge, the presenters will show how EMF can be used to build RESTful applications, exploring some best practices for working with resources and other features of the framework.

The Model Development Tools (MDT) project focuses on big "M" modeling within the Modeling project; its purpose is twofold: 1) to provide an implementation of industry standard metamodels and 2) to provide exemplary tools for developing models based on those metamodels. Since its launch in September of 2006, MDT has undergone two major releases and is now working towards its third release as part of the 2009 Galileo Simultaneous Release. This short talk will provide an overview of the new features and components/projects in MDT and give an update on the status of its Galileo release.

In order to enable the much needed agility demanded by today’s marketplace, business functions and associated processes must be supported by semantically accurate and reusable information, i.e. data and its associated metadata. A data model is an abstract model that describes how data is represented and accessed. Data modeling is the process of creating a data model instance by applying a data model theory, typically to solve some business enterprise requirement.

Data model instances can be categorized into various levels or perspectives, including contextual data models which identify entity classes, conceptual data models which define the meaning of things in the organization, logical data models which describe the logical representation of properties without regard to particular data manipulation technology, physical data models which describe the physical means by which data are stored, data definitions which represent the coding language of the schema on the specific development platform, and data instantiations which hold the values of the properties applied to the data in a schema.In this short talk, we’ll take a look at examples of each of these kinds of data models and explore how they are supported by projects/components at Eclipse.

There is a long standing rift between software modelers and data modelers. You say class, I say entity; you say property, I say attribute; you say association, I say relationship; etc.. This long talk will take a candid look at the differences (and similarities) between UML and E/R modeling, and offer insight into what is being, or could be, done at Eclipse and elsewhere to reconcile the two. You might be surprised to learn that the divide between software modelers and data modelers isn't as great as you thought.

Last year, two symposia were held jointly by Eclipse and the OMG to focus on the synergies between open source and open specifications and to discuss how the joint future of Eclipse and the OMG can be shaped. By all accounts, both were quite successful. So, now what? Well, a lot of really useful feedback was shared, but not much has changed since then. The bottom line is that the status quo will no longer suffice. Design by committee and vendor politics won't get anyone anywhere. Neither will closedness and opaqueness. This long talk will review the feedback from the first two symposia and will compare and contrast the Eclipse and OMG ecosystems to identify concrete measures that can be taken to improve the state of affairs.

Tuesday, December 2, 2008

On Rage...

No, I'm not talking about anger (although, not unlike Ian, I do sometimes feel the need to rant)... I'm talking about CodeRage III, CodeGear's annual virtual developer conference (hosted by Embarcadero Technolgies). It's happening right now. All week. And it's free. Details can be found on the session schedule page. Which sessions have you attended? Which ones do you plan to attend? Did I mention that it's free? ;)

In case you're interested, Ed Merks and I will be delivering Eclipse-related sessions at CodeRage III on Wednesday. My session, entitled "Towards Data Model Interchange and Traceability", is from 5:45 pm to 6:45 pm PST. I know, it's late for those of us on the East coast... but hey, this is a global conference! Ed will be giving his infamous stupid modeling talk ("The Unbearable Stupidity of Modeling") right after mine, from 7:00 pm to 8:00 pm PST. Hope to "see" you there! Rage on!

Monday, December 1, 2008

On December 3...

It's been especially difficult for me to keep my head above water these days. So much is going on, at times it's hard to decide what to focus on and when. Eclipse Summit Europe was already two weeks ago now, the Ottawa DemoCamp was last Thursday, submissions for EclipseCon 2009 were due on Friday, CodeRage III is this week, and there's an OMG Technical Meeting next week. I'll try to blog about each of these if/when I find a spare moment...

And that's just conferences. In terms of my "day job", this is a big week for modeling and design solutions at Embarcadero. Three of my products, ER/Studio, ER/Studio Enterprise Portal, and EA/Studio are all releasing new versions on Wednesday. I've blogged before about how lucky I am to be part of such a great team, but this time around the challenges we persevered were so numerous it was almost laughable. My partner in crime, Jason Tiret, will be hosting a webinar on Wednesday to talk about what's new in database modeling at Embarcadero. You ought to check it out!