Welcome to SolamenteNiel!

I know...I know...in the world of social networking like twitter, blogs just aren't cool anymore, right? Well every once and a while I want to share something that exceeds 144 characters, so I created SolamenteNiel, my blog. While I'm at it, I'm also going old school with a cheesy picture of myself on my blog. In this picture I'm pertending to be an IndyCar driver.

Archive for mdd tag (10) Subscribe to RSS feed

Model Centric Design and Development for Spring

Interesting SpringSource webinar called Model Centric Design and Development for Spring: "This session will describe the integration of Skyway Software and SpringSource and how developers can use Skyway Builder to modify/customize existing Spring applications quickly and accurately. After a brief architectural review of Skyway’s and Spring’s tools, attendees will learn how to access Spring apps in Skyway Builder (using Eclipse), apply Skyway facets/natures, and autowire for Spring to redeploy the app to the same (or new) infrastructure."

Thoughts on Modeling, DSL's, and Tooling

Jack Kennedy, a colleague of mine at Skyway Software, blogged about “Thoughts on Modeling, DSL’s, and Tooling”. Here's a snippet:
There is a lot of talk now about Domain Specific Languages and their use to simplify the delivery of software. There are many reasons why DSL’s are getting attention, but the primary driver is simply that the world is full of generic languages which are being used to solve increasingly specific problems… over and over again. A part of this movement stems from a strange dichotomy that has arisen over decades now in the Software Modeling space. The basic idea is that for some, the software model is a way of communicating and documenting business requirements. For this set of people, the model is most useful for abstracting out the most fundamental pieces of the business requirements. Since the business abstraction is focused at the business concepts, it is not well suited for generating software.....MORE

 

CRUD application using Ext and Java and Skyway

In the last few days I've started some hands-on exploring of Ext, "the client-side, JavaScript framework for building web applications". It's popularity is growing, and I can understand why. It's a pretty remarkable library for building rich user interfaces. What I really wanted to know is whether or not I could easily use Ext from Skyway Builder. Over the last several months as Skyway Builder Community Edition (open source) was approaching it's beta 1 release, I was anxious to give Ext a test drive with Skyway Builder. So I hacked some of the Ext samples to build a basic Ext grid and form that integrated with server logic implemented with Skyway Builder. So the UI was implemented using Ext, and the logic for responding to user events and persistence were implemented using Skyway models, which are generated and deployed as a JEE WAR file using the Spring Framework. The experiment went very well, and it energized me to explore this in more detail. When time allowed, I wanted to build a slightly more comprehensive example.

So the very next day I find a blog post titled "CRUD application using Ext and Java" on Abdel's blog. He built a CRUD application using Ext, a few java servlets, and an oracle database. I was curious if I could take his slightly more comprehensive Ext application and re-implement the back end with Skyway. One of the design goals of Skyway Builder is to provide additive and incremental functionality without being intrusive. I thought this would be a good test for Skyway Builder because I didn't write the Ext front-end. If the design goal was met, I should be able to fully leverage Abdel's Ext application without having to make any accomodations for Skyway.


In about 1 hour from downloading Abdel's sample project, I completely re-implemented the backend using Skyway Builder. Here are the details:

  1. Abdel's example deliberately didn't have an object model. I implemented a Skyway Data Type called 'Person' that has the four attributes from Abdel's example: name, age, city and phone.
  2. Abdel's example was doing data access in his servlets using custom jdbc to oracle. I created a Skyway Data Store, which is an abstract representation of a database used within models to implement persistence. When I deploy the application, the Data Store is associated with a real database (in my case I used MySQL). I didn't need a ddl to create the tables, because Skyway uses the hibernate framework for persistence, and hibernate is configured to automatically derive and create the database schema from the object model.
  3. Each of the servlets were implemented as Skyway Actions. I have included screenshots of their implementations. The entire server logic was cummulatively implemented in nine Skyway Steps (the stop steps don't count; they exist just for readability) You'll notice from the project hierarchy (in Skyway Navigator) that the Actions are contained in a Skyway Web Conversation and subsequently a Skyway Web Controller. The Web Controller is used to map web requests to Skyway Actions, I configured these actions to map to the same request URLs that Abdel specified in his Ext application.

I was very pleased with the excellent results of this experiment. The only changes I need to make to Abdel's Ext application (application.js) was to change the form field names to match the variable name I used for my Person data object. If Skyway integrates well with Ext, it's reasonable to assume that Skyway will integrate well with most AJAX frameworks.

If anyone is interested in a copy of this Skyway project for Eclipse, please drop a comment on this blog post.

EclipseCon is over

EclipseCon is over, and I'm ready to go home.  All I can say is....What a week!!!  The conference was very well run.  Unfortunately I had booth responsibilities on Tuesday and Wednesday, so I didn't get to attend all the sessions that I would have liked to, but I did manage to squeeze in a few.

The Skyway Playzone was really great.  In addition to providing some entertainment to attendees, many exhibitors (including myself) were able to play some foosball and head-to-head basketball during some of the lulls.  When you spend time giving the same demonstration over and over for two days, the games were a nice diversion to clear my head.  It was also interesting to see some very competitive contests.

The response to Skyway's announcements at EclipseCon was incredible.  Skyway's provocative claims of building web applications and services using modeling techniques instead of hand coding lend themselves to very interesting demos.  People are initially very sceptical, and they are surprised when they see it with their own eyes.  After giving a demo it's interesting to watch people process what they just saw. This is especially true for people that do web development with Spring and Hibernate.  They are stunned that an entire application was implemented using these frameworks in front of their very own eyes without ever having to see or know that the frameworks were being used.  
I kind of felt like a late night infomercial...where I would say "But wait...there's more!".  I would switch to the code view to show them application code that was generated both elegantly and concisely....not something typically associated with automation or code generation tools.

But wait....there's more!!! It's also open source.  The typical reaction was "huh?".  Yup...that's right...you can download the rcp, plugins and source code.

I have been giving demonstrations for a long time.  Usually it's via a web conference.  But giving demos at a conference like EclipseCon is more interesting to me because you get visual feedback in addition to verbal feedback.  Their body language tells you a lot.  In the beginning people stand at a bit of distance, sometimes feeling obligated in an act of politeness to sit through a hopefully very quick demo in order to get their swag (although it's certainly isn't expected by exhibitors).  As I start to demo, they start coming closer and closer.  In some cases there collegues may have been playing foosball.  As they wrap up there match, they are curious at what has kept the attention of their collegue for so long.  This usually leads into another demo.  Furthermore, unlike a one-time demo, at a conference you get the feedback in rapid succession.  When the feedback is good, it's kind of addicting.  

Wow.  I started by celebrating the end of a fun conference, but I digressed into my experiences giving demos.  While it was fun, I'm glad to it's done.  I'm exhausted, and I'm kinda tired of hearing myself say the same thing over and over.  Time to get some rest and refine my demo for our next conference, JavaOne 2008.

Cheers!

Skyway Software Joins Eclipse Foundation

I've highlighted in bold what I think is the most interesting part of this press release. 

Skyway Software announced that it has joined the Eclipse Foundation. Skyway Software joins the Eclipse Foundation as an Add-In Provider member to support the continued growth of Eclipse's development platform.

"We are pleased to welcome Skyway Software as a member of the Eclipse Foundation. Skyway Software's usage of several Eclipse frameworks and projects has enabled them to cost-effectively develop their runtime-independent end-to-end modeling capabilities," said Mike Milinkovich, Executive Director of the Eclipse Foundation, Inc. "We look forward to Skyway's participation in the rapidly growing modeling ecosystem at Eclipse."

Skyway Visual Workspace includes Skyway Builder (a development tool to prototype, design, and build solutions) and Skyway Director (a deployment tool to generate and deploy solutions). Some of the world's largest enterprises rely on model-based Skyway Visual Workspace, and our iterative, enabling methodology Skyway Collaborative Software Delivery, to facilitate collaborative development and deployment of SOA-based JEE applications more quickly and more accurately than ever before.

"Today's announcement marks another milestone in Skyway Software's ongoing effort to simplify the software delivery process for our customers using open standards," said Jared Rodriguez, CTO and Co-Founder of Skyway Software. "The Eclipse and Skyway Software partnership is a great match since our Skyway Visual Workspace plug-in will rely extensively on the Eclipse Modeling Framework, the Eclipse Modeling Project, and the Data Tools Platform. And by doing so all within the Spring Framework, we facilitate a seamless blend of hand-coding and modeling to help enterprises deliver fast, accurate JEE solutions."