Archive for July, 2007

Grey Line

I spent this weekend testing some of our clients new applications in the wild – literally. In these parts of the woods Internet is bad enough on sunny days, and it gets MUCH worse when it rains. So I was getting all kind of errors on “production-ready” application that was fully tested on intranet.

Well, that does not really mean much in the real world. Here I was getting random disconnects, lost, out of sequence, corrupted and duplicate packages. The application was very much confused at best.

By the time it stopped raining I was ready for more. So I set up a Linux server, installed netem’s network emulation software and deployed my application there. By doing that I was finally able to put in order some chaos of disruptive networking issues. Netem allows you to provide any permutation of the latency, out-of-sequence packages, lost and erroneous ones, duplicates over local network – in this case, within VMWare on my laptop.

By the end of the day I am able to make the system work on par with the last century cell phone modem connection. That is just a pure luck that the system was designed with all the hooks for custom QoS and did not require rewrite of the communication server.

Quick setup of that VM as a bridge ( VMWare provides virtual adapters, you can just route your local traffic via that VM), and I am testing publicly available AJAX and Flex sites. Very few survivors out there – most of the applications die quietly at best.

Rich Internet Applications are being positioned to replace their client/server peers. It is extremely important that they can deal with disruptions in a robust manner, so the business operation can continue uninterrupted in a slow mode. Breaking transactions is not an option. Given utmost priority to this will affect design of your production-grade application and development schedule.

Sincerely,

Anatole Tartakovsky

Personal note: I noticed today that I am spending less then 30% of my time in Microsoft OS and most of the time in Linux. It appears that all 3rd party system developers are abandoning the platform – there is virtually no shareware/inexpensive or just decent tools for network simulation. As for usability, few times this week I was about to remove Vista from my desktop. It is definitely time to switch from Microsoft to Linux/Mac for base OS. Too bad Apple can’t fulfill on the promise to make OS available on high-end PCs – it just does not make sense to go from thinkpad t60p to Mac laptop – they are virtually identical, with better expandability on thinkpad side.

Comments off

 

Grey Line

We’ve crafted a special public training program that is specifically aimed at Java developers with no or limited experience in developing enterprise-grade J2EE application with Adobe Flex front end.

“Real-world Flex for Java programmers” is an intensive, five-day hands-on training program for Web developers who need to create and integrate rich Internet clients written in Adobe Flex with enterprise J2EE applications. This is one of a kind hands-on workshop because during this week attendees will

  • create two fully functional Flex/Java applications,
  • learn how to properly set up a Java/Flex enterprise project
  • start using Flex Eclipse plugins that will turn your Java project into a Rapid Application Development (RAD) environment
  • start working on their projects in the class under the guidance of two experts and certified Adobe Flex instructors Yakov Fain and Dr. Victor Rasputnis, co-authors of the book RIA with Adobe Flex and Java .

Pre-requisites

Each student has to bring his/her own laptop.
Students should have a basic knowledge of Java

Curriculum

Day 1. Overview or Rich Internet Applications technologies, introduction to Adobe Flex, working with XML data, data binding, Basics of LiveCycle Data Services, working with remote Java applications deployed under Apache Tomcat server, creation of an RSS feed application.

Day 2. Creating reusable flex components, configuring LiveCycle Data Services, fundamentals of building Flex-Java-DBMS applications, logging and debugging, where the sessions belong, batching database operations, data-aware Flex components.

Day 3. You’ll be given an assignment to create a Java-Flex-DBMS application and will work on it in the class. You’ll learn how to set RAD environment, how to speed up and improve your productivity with Eclipse plugins for Flex and most importantly, you’ll get this CRUD applications up and running.

Day 4 and 5. You’ll start working on your own project in the class under the guidance of the Flex/Java mentor. If you are ready to work in this mode, bring your own sample database pre-configured for work with Tomcat, and we’ll help you to start your project from the right foot. If you are not ready with your own project spec yet, we’ll provide a sample spec and the database for you, and you’ll be working on this project under our guidance.

Location

New York, NY NYC Seminar and Conference Center (see http://www.nycseminarcenter.com/ )
For hotel info visit http://www.nycseminarcenter.com/visiting/hotels.cfm

Dates

November 26 – 30, 2007

Tuition

The cost of this bootcamp is $1995. Register by September 26 and save $200.
Each student will get free licenses of the following Eclipse productivity plugins ($846 value, see details at www.myflex.org):
ClearData Builder
FX2Doc
Log4Fx
Fx2Ant

Instructors

Yakov Fain is a Principal Consultant of Farata Systems. He’s responsible for the Enterprise Architecture and emerging technologies. Yakov authored several books and dozens of technical articles. Sun Microsystems has nominated and awarded Yakov with the title Java Champion. He leads the Princeton Java Users Group. Yakov holds BS and MS in Applied Math. He is Adobe Certified Flex Instructor.

Dr. Victor Rasputnis is a Managing Principal of Farata Systems. He’s responsible for providing architectural design, implementation management and mentoring to companies migrating to XML Internet technologies. Victor is a co-author of the book on programming with Flex and Java and is Adobe Certified Flex Developer. He holds a PhD in Computer Science.

Registration

The number of seats in this class is limited so early registration is suggested. To register, follow this link.

Comments off

 

Grey Line

Today, we have released ClearBI 1.0, a Web reporter and business intelligence engine for rich Internet applications. While ClearBI 1.0 is targeted for Adobe Flex and Java developers, the upcoming ClearBI 1.1 is a rich reporting component that can be used with any AJAX application.

ClearBI 1.0 is available in two versions: ClearBI Plugin and ClearBI End-User:

• ClearBI Plugin allows a software developer create and customize a new report in Eclipse IDE. This report can be integrated into any Flex application by including an extra MXML file and recompiling the main application. The end users will be able to work with the report (sorting, filtering, grouping, export to Microsoft Excel, et al.), but won’t be able to save this customized report. This version comes with Clear Data Builder a code generator, and is offered at $799 per seat.

• ClearBI End-User version has all the functionality of the plugin version, and also allows the end users create reports from the universe of the data fields without need to install any software other than Flash Player. The end users create, customize and save reports in the centralized database server without any help from the IT department.
The End-User version is offered as a server license and is priced on a per server CPU basis.

You can develop, save and view reports in Eclipse using ClearBI Plugin:

ClearBI End-User version allows end users to customize and save their reports right from the Web browser using additional toolbar. No software other than a Web browser and Flash Player has to be installed on the users’ computers.

ClearBI designer allows you to specify styling, filtering, sorting, groupings, create formulas and more.

Both versions support report export to Microsoft Excel from Internet Explorer.

The next version of ClearBI 1.1 (currently in Beta) will support connectivity of this Flex component with the server-side Java using improved OpenAMF communication protocol, which may present an interest to the organizations that do not have Adobe LiveCycle Data Services. ClearBI 1.1 will also become a reporting solution for AJAX developers. We were able to decouple ClearBI from the data source. For example, this pre-recorded video shows how you can create a Web application that uses ClearBI 1.1 with a data feed provided by a Web service.

If you’d like to play with CLearBI on your own, point your browser at http://myflex.org/demo/clearbi/demo.html . Either repeat the report customization that I did or try to explore ClearBI on your own. You can download the documentation for ClearBI ( the  previous version of ClearBI) at myflex.org .

Thanks,

Yakov Fain

Comments off

 

Grey Line

The fact that Adobe is open sourcing Flex is good but not good enough. The whole idea of open sourcing any software is to bring more brain power to the development process, which leads to a better quality product. But today my hands are tied.

I wasted a whole day on what should have been a trivial task – adding and ability to send some client context information alongside with an AMF request. Passing the request’s header information (i.e. information that is not passed with the RPC call but can be picked up by querying context mechanism) is quite common in Java programming.

I started by trying to pass the user name across the wire. With RTMP or HTTP requests you just add the objects you need to pass along to the HTTP header.

Setting up the Java side literally took 10 minutes – subclassing the FDS endpoints, creating the context class that would be used for keeping the information within thread execution:

package com.farata.remoting;
import java.util.Hashtable; import flex.messaging.endpoints.*;
import flex.messaging.MessageBroker;
import flex.messaging.config.ChannelSettings;
import flex.messaging.messages.Message;

public class CustomAMFEndpoint extends AMFEndpoint {

public CustomAMFEndpoint(MessageBroker broker, ChannelSettings cs) {super(broker, cs);}

public CustomAMFEndpoint(MessageBroker broker, ChannelSettings cs, boolean enableManagement) {super(broker, cs, enableManagement);}

public Message serviceMessage(Message message) {

Hashtable ht = new Hashtable();

ht.put(“context”, message.getHeaders());

MessageContext.setParams(ht);

return super.serviceMessage(message);
}
}

Here’s the “by the book” implementation of the Context object using Java’s ThreadLocal class:

package com.farata.remoting;
import java.util.Hashtable;

public class MessageContext {

public static void setParams(Hashtable session) { sessions.set(session); }

public static Hashtable getParams() { return (Hashtable)sessions.get(); }

private static ThreadLocal sessions = new ThreadLocal();

}

Let’s use a classical HelloWorld.java for testing:

package com.farata.test;

import java.util.HashMap;
import java.util.Hashtable;
import com.farata.remoting.MessageContext;
public class HelloWorld {

public String hello() {
Hashtable ht = MessageContext.getParams();
HashMap context = (HashMap)ht.get(“context”);
return “Hello “+ (String)context.get(“user”);
}
}

Done with Java, here comes the Flex turn. Now we need to subclass the ActionScript class Operation to update the message headers when the operation is being invoked:

package {

import mx.rpc.remoting.mxml.Operation;
import mx.core.mx_internal;
use namespace mx_internal;
import mx.rpc.AsyncToken;
import mx.messaging.messages.IMessage;
import mx.rpc.remoting.mxml.RemoteObject;

public class ContextOperation extends Operation {

public function ContextOperation(svc:RemoteObject = null, name:String = null):void {

super(svc, name);

}

mx_internal override function invoke(msg:IMessage, token:AsyncToken=null):AsyncToken {

msg.headers.context = {user : “Anatole”};

return super.invoke(msg, token);
}
}
}

Now the client’s test application:

<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” xmlns:local=”*”> <mx:Button label=”hw” click=”ro.hello()”/>

<mx:RemoteObject id=”ro” operationClass=”{ContextOperation}” destination=”com.farata.test.HelloWorld” result=”Alert.show(event.result)” /> </mx:Application>

So far so good, we are getting back “Hello Anatole” as expected. Here comes trouble – you can not use mx:method with this solution – operationClass is not being used with the template used by Flex compiler, which generates the following ActionScript code (you can see it with the help of -keep compiler’s option):

private function _RemoteObject1_i() : mx.rpc.remoting.mxml.RemoteObject
{
var temp : mx.rpc.remoting.mxml.RemoteObject = new mx.rpc.remoting.mxml.RemoteObject();
ro = temp;
temp.destination = “com.farata.test.HelloWorld”;
temp.operations = {hello: _Operation1_c()};
temp.initialized(this, “ro”)return temp;
}

private function _Operation1_c() : mx.rpc.remoting.mxml.Operation{

var temp : mx.rpc.remoting.mxml.Operation = new mx.rpc.remoting.mxml.Operation();
temp.name = “hello”;temp.addEventListener(
“result”, ___Operation1_result);
temp.addEventListener(“fault”, ___Operation1_fault);

return temp; }

I did not expect to see “new mx.rpc.remoting.mxml.Operation()”, but rather new ContextOperation.  This is clearly a bug in the template used by the code generator, which I could have fixed myself and returned the fixed version back to Flex developer’s community. Unfortunately, the code of the templates is not available.

Frameworks that use code generators need to open templates so enterprise developers can extend them. Extension of the framework means symmetrical changes in templates, so if you allow one, you should allow the other. Also, in order to take an application framework to the next level, the preprocessor/code generation passes need to be extendable by developers as well .

Please open up AMF/RPC and Flex compiler or at least set up the community process to let us quickly fix such bugs.

Thank you,
Anatole

Comments (1)

 

Grey Line

We’ve implemented in Flex a Web application that supports full screen mode (note a small icon in the top right corner at www.myflex.org). This blogs explains the issue you may run into while implementing the full-screen mode. The process consists of two steps:

1. Identify if the player is capable of displaying the Web application on the full screen.
2. Apply ‘fullScreen’ to displayState property of the stage

The first step is usually done by parsing the version numbers (major, minor and build) of the player using Flex regular expressions:

public static function fullScreenEnabled ():Boolean {

var versionString:String = Capabilities.version;

var version:RegExp = /\w\s+(?P<major>\d+),(?P<minor>\d+),(?P<build>\d+),\d+/;

var result:Array = version.exec (versionString);

var majorVersion:Number = Number (result.major);

var minorVersion:Number = Number (result.minor);

var buildVersion:Number = Number (result.build);

enabled = (majorVersion >= 9) && ((minorVersion > 0) || (buildVersion >= 28));

return enabled;

}

If you’ll follow some online suggestions on implementing the second step, you’ll run into problems:

this.systemManager.stage.displayState = state?”fullScreen”:”normal” ;// wrong

this.systemManager.stage["displayState"] = state?”fullScreen”:”normal” ;// won’t work either

Developers in Java and Flex world usually assume that if the code passes compilation ( and here we have strict references ) the linkage issues are resolved. However, this code will throw an exception if executed in older versions of Flash.

Either of the following two approaches will work :

if (“displayState” in systemManager.stage) this.systemManager.stage.displayState = state?”fullScreen”:”normal” ;// OK

try {

if (“displayState” in systemManager.stage) this.systemManager.stage.displayState = state?”fullScreen”:”normal” ;// OK

} catch (e:Exception) {}

It becomes even more relevant when developing components that are reused by both Flex and Adobe AIR.

Thank you,

Anatole

Comments off

 

Grey Line

While delivering a talk on SOA I’ve asked the audience the following question, “What do you think is the driving force for implementing any technology or architecture in a decent size Enterprise?” The answers were typical – better code re-usability, accessibility… But I was looking for a different answer that has nothing to with technical merits of any technology. Based on what I see in the real world enterprises, the main reason of implementing SOA (or any other IT initiative) are career goal of individuals working in this organization.

People want to become more visible and move up the career ladder. Implementing SOA across organization can make enough noise to move them to the next level.

SOA Ground Up

The SOA in your firm can evolve from the ground up. For example, an ambitious architect attends conferences, goes through training, reads white papers, and now he truly believes that SOA is a right way to go. He’s aggressive and influential and managed to convince the CTO or CIO to allocate funds for this.

If you are not an architect but just a software engineer, you may try to start convincing your application manager, but typically application managers don’t want SOA. They are busy with business as usual: do not forget to call into the change management meeting, fix yesterday’s production bug, deal with an offshore team, attend 5-6 meetings a day… They are firefighters. Imagine a firefighter that is putting out a fire…Here you come in a clean white suit offering to sell some new bells and whistles for a fire truck…

The chances of a software engineer to start SOA movement are very slim, really.

SOA Top Down

Another reason for SOA is this: your CIO went to a conference and attended a presentation of an energetic speaker, which clearly explained benefits of SOA over any existing architecture. This is the worst case. Subordinates will not resist – they also have career goals…

Your CIO will come up with an SOA project plan based on available funds and resources, which means that this project is doomed. The fact that your CIO will never admit that it was a mistake makes things even worse.

All application groups will roll up the sleeves, will work hard and meet the deadlines.
But let me remind you a quote from a must read book “The Mythical Man-Month ”:

An omlette, promised in two minutes , may appear to be progressing nicely. But when it has not set for two minutes, the customer has two choices – wait it or eat it raw. Software customers have had the same choices.
The cook has another choice; he can turn up the heat. The result is often an omlette nothing can save – burned in one part, raw in another.

SOA as a burner

The third reason for implementing Enterprise SOA is to burn some cash: we (IT) have $2M – let’s service-enable all of our applications by the end of this year. Why $2M? It’s elementary, Watson! Because you need to burn $2M this year, otherwise you won’t get funding next year. Get some high-price items. Who cares that no real feasibility study was made? Just go with a well known vendor and get expensive software/hardware – your developers will figure out how to plug in that Enterprise Service Bus into your SOA.

SOA Maturity

I work as a consultant, and sometimes I have to interview technical managers to figure out if SOA is a realistic solution for their company, and how the CUSTOMERS of this particular silo application will benefit from implementing SOA in the firm.

What do I see – all these people are working hard to fulfill their current obligations, to make sure that their applications are up and running in production, that support calls are answered in a timely manner, the offshore team is delivering, and on and on and on. And her I come in a white suite asking all these smart questions:
”How do you run business today?”
“What parts of your application are the candidates for being converted into services? No, SOA is not the same as Web Services”.

And these polite but tired people are looking at me, listening to me, they’ve seen already other architects trying to change the way they do stuff in their organization. Several similar initiatives have failed before, and here we go again…I can not forget one technical manager – this lady was having hard times even finding time for meeting with me. During the appointment she was polite, but looked tired and worn out. She’s a professional and was trying to answer me questions anyway, but her phone rang off the hook, he right hand was moving the mouse over the MS Outlook screen. “I’m so sorry, I need to take this call…” And I’m thinking to myself, ”What am I doing there? Does she needs SOA?”

Is your organization ready for SOA? Does your company have the right skills, infrastructure, SLA, SDLC in place? What methodology are you planning to use to identify services?

Do you have lots of third-party shrink-wrapped applications?
You know how to wrap up your CICS application into a Web Service, but are your mainframe developers willing to get re-trained? What about the governance?

Some architects start with purchasing expensive software and hardware assuming that the main part of the SOA initiative is accomplished. No, you can’t buy SOA.

Someone has to do a feasibility study for your firm (preferably external vendor) – but this has to be an honest opinion of a qualified group of people. This study has to be convincing, it has to show if implementing SOA is the right choice at this time for your firm.

SOA maturity assessment is extremely important.

Technical Benefits of SOA

If someone will create an inventory of all applications of a large organization and the data exchange between these applications, it may look scary.

An app A provides data to app B. It would be nice if the app A would be able to easily send the same information to applications C and D as well, but this would require some data transformation. Currently, your people would just create and deploy a new ETL (extract-transform-load) processes for A2C and A2D data exchange.

But SOA can offer you a more elegant way by implementing an Enterprise Service Bus that would take care of the data routing and transformation. Someone said that the main reason for implementing SOA is reusability? Let’s look at the before-after SOA diagram:

The second diagram looks much better than the first one, but how much it’s going to cost your firm to switch from the first diagram to a second one?
How much would a reusable service cost you comparing to just writing new ETL scripts for each new connected pair? Is it worth the money?

Why reusable components would be expensive? Let’s talk about infrastructure, which is an enterprise level group that owns shareable software and hardware.

ESB Infrastructure

ESB requires a centralized group with proper skills. How this group will be funded (a slice of each project’s budget, internal consulting, a hybrid)? SLA must be in place that would require this group accommodate every application team’s needs in a timely fashion. The quality of service has to be clearly defined (is it 24×7 or what’s the max time the service can be down).

Do not forget about service versioning, which is not the same as application versioning. Some service consumers may be happy with the version 3.2 and you’ll have to support both 3.2 and 3.3.

Coming back to the human factor – do you have good relations with the ESB group? Personal relation will always get you farther that any SLAs combined. By the way, Joe Smith who runs the ESB group has his own career objectives and ambitions

The ESB group has to accommodate application group’s needs in a timely fashion. You need to make sure that Joe find time in his busy schedule and allocate his resources to your project’s needs.

If you keep your ugly point-to-point ETL way of connecting silo applications, you do not need to create this infrastructure and introduce yet another moving part into your rather complex enterprise architecture. Again, human relations between you and Joe Smith become crucial for the success of your SOA project.

Now you need to get trained and spend some time preparing your data for the input into the ESB in the proper format, specify the right output format for every new application and document it according your firm’s SDLC process. How quickly the infrastructure team will write and test the conversion script for your recipient application?

Yes, every new connection between the applications that you introduce adds a bit more spaghetti to the diagram, but you could have done all this with your own resources in a controlled timely manner without missing deadlines and jeopardizing your career. By the way, Joe Smith from infrastructure has his own career objectives. If your project fails, your yearly review suffers, now you need to find common grounds in achieving yours and Joe’s personal goals.

To SOA or not to SOA

This does not mean at all, that I do not recommend you to implement SOA in your enterprise, it just means that you need to be prepared and armed when it comes to dealing with all these issues. SOA is definitely a way to go in green field situations when you start automation of your enterprise from scratch.

I wonder if you are familiar with this diagram:

This is Minard’s Diagram of Napoleon’s March on Moscow of 1812. The width of the line shows the size of the army on the way to Moscow and back.
Napoleon was expecting greetings from Moscow authorities, but entered the abandoned and burnt city with no supplies and food for his huge army. His retreat was also a deadly enterprise because of an extremely cold winter (−36 ° F ), no grass for horses (most of them were eaten by the French soldiers anyway). You can read more about it in Wikipedia.

My message to you is this: “Do not repeat Napoleon’s mistakes in your SOA journey. Do not start it unless you have the right expectations and your infrastructure will definitely be ready.

Making Business Users Happy

Oh man, I almost forgot about your business users! Will they happily greet you at the gates of their cities? How did you convince them that they should shell out a substantial chunk of money for implementing your SOA initiative? Do they actually know about this initiative or you managed to get funding because you play gulf with the CEO of your firm?
If this is the case, I have bad news for you – you can’t avoid contacts with business user during immersing your enterprise into SOA waters.

Do they give a damn about what architecture you use to give them the data? Not really. They will definitely ask you a simple question, “OK, I’ll give you X amount of dollars and allocate resources for a year for your SOA project. Will I run business differently a year from now? Will you provide me more analytical data in a more convenient form? Will my customer-facing sales force become more productive which will translate to more sales?”

SOA+RIA

To make end users more productive, we need to shift gears a little bit and recall that user experience really matter.
Think of iPod. How many people know the name of its competitor? What do you prefer – Apple’s iPod or Zune from Microsoft?

The Zune has a bit more functionality, but iPod looks nicer and the user interface is cleaner. InformationWeek has published an articles listing 8 alternatives to iPod . Have you even heard of them?

Tomorrow, huge number of people hopes to get a hold of the new Apple’s widget called iPhone. They want it now. $600? Not a problem. They want it now. Let me stress, it’s still a phone with the ability to browse the Web and a modest disk space for storing music. From the services perspective is not a revolution, it’s the User Experience that make it stand out and this is the main reason why people want it.

You may ask, what all this has to do with SOA? People like nice looking gadgets, and they like nice looking program interfaces too! It’s easier to sell SOA to your business users if the SOA client applications are convenient and slick. Especially this is true for the customer facing applications. If you sales representative comes to a prospective client with a rich-looking application clearly showing your products, their job becomes a lot easier. If you offer your firm’s financial analysts rich GUI interface with live chart and graphs to easily compare performance of two mutual funds, analysts will really appreciate it. You still need to program the services that will go and get the data, but having great presentation layer is extremely important.

When you create or modernize your application, do not just think about powerful multi-processor servers, multithreading, and ESB. Start redesigning the users experience – it has to be available everywhere (at home, on the road and in the office), it has to be responsive, and it has to look better than client server application written it was ten years ago in Visual Basic and PowerBuilder.

Ten years ago we were thinking screens not servers. And this was not a bad idea. When Java was born, the client programming became complex, besides, Sun Microsystems and IBM wanted to sell server licenses, which has moved most of the Java development to the server side.

RIA

Now we can talk about the rich Internet applications (RIA) that can and should be used as consumers to the services. The RIA term was coined by Macromedia back in 2002. I’m not sure if there is a formal definition of this term, but you can think of RIA as desktop-quality applications delivered over the Web with no (or close to none) installation required.Let’s turn on the time machine and go 20 years back. Mainframe with their dumb terminals dominates. The client portion of the application is a black screen displaying green and red text. Then, in the early ninetieth client-server application came about. The clients were not dumb anymore, rich looking GUI that utilized the processing power of the PC.

In mid 90th, Internet became popular. Plain looking pages had an ability to get all kind of information from a plethora of remote servers. From the GUI perspective, it was a pushback. Mainframe had black background with green letters, while Web pages had colored backgrounds, static pictures and the same text fields, buttons and rudimentary HTML tables.
Now the rich GUI is coming back again in the form of RIA. These are not page-by-page typical Web site, but full-fledged applications with rich controls, audio and video, with state stored on the client. Now the user get this nice looking application delivered to their PC without the need to go through a complex install process.

Today, RIA can be created with Adobe Flex or AJAX. Microsoft’s Silverlight is coming out later this year, and Sun Microsystems will offer their JavaFX RIA solution in 2008. OpenLaszlo can also be used for creation of RIA. All these technologies can be used for creation of consumers of the services in your next SOA project. Leading enterprises started using professional designers for wire-framing next generation Web applications.

If you are an architect of an enterprise SOA project, do not just think servers, clusters, and grid computing. Think of your business users. Give them something nice, and they’ll be helping you with your SOA-SHMOA efforts and will enjoy the new system as they already enjoy iPods and upcoming iPhones. SOA must improve user experience of your business clients – do not underestimate the human factor.

Yakov Fain

Comments off

 

Grey Line

Software engineers of Farata Systems present on several conferences every year during which they enjoy learning from others and share their accomplishments. We also run public and private training sessions. Below are our confirmed engagements for the Summer and Fall of 2007.

NYFlex Users Group, New York, July 19, http://www.nyflex.org/
Enterprise Web Reporting with Flex
by Yakov Fain and Anatole Tartakovsky

Real-World Java, New York, Aug 13, http://realworldjava.com/
Flex for Java Developers
by Y. Fain

Max 2007 conference, Chicago, the panel “Flex Best Practices”, Oct 2 , http://www.adobemax2007.com/
by A. Tartakovsky

AjaxWorld, Santa Clara, CA, Sep 23, Flex Developer’s Bootcamp
http://flexbootcamp.sys-con.com/
Y. Fain, Victor Rasputnis

New York University, New York, Oct 25 – Nov 29, http://www.scps.nyu.edu/departments/course.jsp?courseId=79005
Flex 2: Building Rich Internet Applications
By Y.Fain

EclipseWorld conference, Reston, VA, Nov 7,http://www.eclipseworld.net/wed_pm.htm
Rapid Application Development of Rich Internet Applications With Eclipse Plugins
by Y. Fain

Real-World Flex for Java Programmers, New York, NY, November 26-30, 2007, http://flexblog.faratasystems.com/?p=225
A five-days workshop taught by Y.Fain and V.Rasputnis
Please let us know if you are interested in arranging private Flex training at your site. We run classes almost anywhere around the globe. For example, within the next month we are running Flex training for corporate clients located in New York and Hong Kong.

See you in class,
Yakov Fain

Comments off

 

Grey Line

I have been reading a lot about AIR lately and it seems that most of long time Macromedia users are missing the point of the product. The best Flash/Flex developers do not see enough of the difference with existing browser solutions�and HTML guys do not understand why would they need another browser/compatibility test for their overstressed sites.
Here�are�2 major�points:
1. Flash/Flex programming/authoring are limiting explosive grows of the Rich Internet Applicaions – mash-ups with easy publishing is the must if you want to get support of millions of IT people that were ‘Thinking in HTML’.
2. HTML without reliable communication model, fast pre-compiled code (every time you load page JavaScript is being compiled) and better media support is a “no-go”. Low bandwidth, latency and unreliable communications break AJAX sites easily.
Low-level performance and lowest denominator of the features available across the browsers limit the complexity of the applications and skyrocket the costs.

AIR is THE SOLUTION to these problems.

We have been developing large AJAX applications for enterprises between 1999 and 2005.
Along the way, we had to “upgrade” the browsers our clients used with extended HTTP protocol for reliability and performance.
We had to complement browser security model to allow business printing and controlled file access.
We had to provide framework of high level controls like datagrids, treeviews and tabfolders to make AJAX programming more productive.
And we made JavaScript pre-compilation available so large applications can load and interact faster. Most of AJAX frameworks are still in infancy because the bandwidth and JavaScript performance /precompilation limit what they can do.
In short, by building real-world application we had to build proprietary AIR/Flex platform for our clients.
When we talked to Microsoft 3 years ago of what the next version of IE could be – and explained our vision – they bluntly said that it would be a competition to Vista. They wanted the browser dead and Vista replacing everything as an application platform.
Here is a funny part – since then they spent billion of dollars buying technology to catch up in their AJAX offering. They did it for a reason – AJAX is what businesses are spending on NOW. It is GROWING not because of the technical merits, but because of the KISS (keep it simple stupid) aproach and speed of delivery using existing trained staff. We are spending time and money making our Flex controls like interactive reporting tool to be available as Flex component for AJAX – there is huge market there as AJAX can’t compare with the power and reliability of mash-ups.
Marketing at Adobe needs to take higher aim with this product�- they need to appeal to the right people�NOW to make the product success – and these are the people way outside of Macromedia / Adobe camps.
Sincerely,
Anatole Tartakovsky

Comments off

 

 

cialis cananda canadian site for cialis can viagra be purchased without prescription viagra canadian pharmacy cialis on line india non pescription cialis order viagra uk levitra sales online how to buy cialis in canada cheap levitra without prescription propecia generic from india buy propecia without a prescription viagra quick delivery cialis samples cialis dosage cialis usa best way to use cialis viagra pay by e check find cheap cialis canadian viagra no prescription us viagra sold in us no prescription needed viagra sales from us buy cialis africa cheapest propecia prescription price cialis buy generic cialis online cialis canada on line cialis fast delivery cialis professionel buy vardenafil get free viagra sell viagra cialis delivery in 5 days or less canadian cheap viagra pills levitra sale viagra online in canada viagra canada 50mg buy female viagra online without prescription generic viagra canadian pharmacy generic viagra uk viagra online to canada cialis endurance cialis canadian cost super viagra uk cheap propecia canada cialis soft tablets pharmacy fast delivery viagra buy cheap uk viagra cialis com viagra ordering canada cialis order by mail buying cialis online canada viagra sale buy indian generic viagra buy viagra canada is it legal to buy viagra from canada purchase cialis no prescription viagra on line sale canada pharmacy best levitra prices cialis online canada no prescription drug hair loss propecia buy viagra online in the uk ed canadian pharmacy viagra pills online pharmacy propecia renova viagra online without prescription in canada tadalafil cheapest viagra buy brand name cialis no prescription needed best canadian pharmacy for propecia cheap 25mg viagra but viagra online with mastercard cheapest propecia uk baldness male propecia viagra cost soft viagra tabs viagra online shop france deer viagra cheap levitra cialis online ordering buy cialis best price cialis 10mg price how to buy cialis online with overnight shipping shop viagra pfizer where to get viagra viagra online 50mgs viagra cialis canadian pharmacy brand name cialis without prescription cialis mail order uk cheap propecia online cheapest propecia in uk discount viagra soft gels fast shiping viagra buy viagra in australia generic cialis 10mg cialis on line pricing in canada buy levitra without prescription cialis uk order cialis kanada buy viagra now how to get cialis without prescription drug viagra cheapest priced propecia viagra original buy online order viagra canada 5 mg propecia buy viagra visa cheapest propecia in uk original viagra where to buy cialis cheap viagra for mail order find cheapest cialis best price for propecia online health center for viagra prescriptions purchase discount viagra 10 mg vardenafil online canadian pharmacy viagra cheap viagra prescription online usa pharmacy viagra viagra cheapest prices canadian pharmacy discount cheap canadien viagra viagra femele viagra purchase online pharmacy canada viagra viagra mexico buy pfizer viagra online generic fda approved purchase no rx cialis canada viagra sales viagra pushups viagra online reviews cialis 20 mg canada cialis mail order uk canada online pharmacy propecia viagra from china cheapest levitra uk order viagra us buying propecia online discouont viagra levitra purchase viagra where to buy were to buy viagra buy viagra without rx levitra in uk how to buy levitra online propecia pay by check buy cialis pill fda approved viagra viagra online buy buy cialis online without prescription viagra online tester best place cialis canadian viagra sales best way to buy cialis online generic viagra viagra online 50mgs prescription viagra buying viagra now buy cialis canada purchase cialis us viagra england mexico viagra without prescription viagra cialis online canada canadian online cialis order discount viagra online natural viagra propecia candaian pharmacy lowest price viagra us pharmacy propecia or finasteride cialis ship to canada cialis 50 viagra online delivered next day canadian healthcare generic cialis how much is viagra fine levitra viagra price cheap propecia online india get propecia prescription cialis sample viagra prescription needed cheap viagra pills online free sample pack of cialis best price generic propecia cialis pharmacy online purchase viagra usa discount sale viagra bought cialis in mexico? viagra online without prescription united states propecia buy cialis philippines female viagra next day delivery approved cialis pharmacy tuna viagra viagra on line canada cialis and ketoconazole sales of viagra real viagra no prescription mexico online generic cialis 100 mg cialis canadian viagra generic canada pharmacy viagra super active viagra purchase on line pharmacy cheap propecia online canadian online pharmacy viagra online prescription propecia canada prescription viagra overnight delivery cialis cialis generic how to buy levitra online purchase cialis usa viagra dose brand por cialis online 100mg viagra canadian scam cheap cialis online canada cialis discount prices non generic levitra propecia sales canadian canadian healthcare generic cialis low cost viagra from canada buy cialis canada hydrochlorothiazide cialis health center for viagra prescriptions viagra cialis online cialis at canadian pharmacy online propecia prescription generic viagra australia cialis or viagra discount sale viagra viagra no prescription needed canadian generic viagra online best price for cialis viagra alternatives canada generic propecia buy 25mg viagra online canada generic viagra with echeck get cialis fast viagra onlines viagra prescriptions without medical overnight canadian viagra cialis without rx buy cialis on line no prescription viagra online without prescription in canada cialisis in canada propecia 1mg price canada cheap viagra buying generic viagra online for soft tabs viagra buy real viagra pills usa viagra price germany levitra.com cheapest viagra to buy online in uk discount levitra online viagra cialis trazodone cialis 5mg canada cialis 50 canada levitra order propecia viagra us pharmacy cheap generic viagra india usa cialis viagra cialis for sale cheapest propecia pharmacy online buying cheapest viagra no rx viagra best prices on generic cialis viagra tablet no prescription needed cialis overnight cialis professional 100 mg buy generic no online prescription viagra viagra canadian sales 50mg viagra retail price cialis online cheap cialis samples buy levitra online canada online canadian pharmacy propecia viagra pharmacy cialis 30 mg 50mg generic viagra wh ere can i buy cheap cialis viagra for canada levitra sell i need to buy propecia order levitra online were to buy viagra? cheap viagra 50mg cheap viagra canada online viagra levitra cialis viagra femele order viagra online no prescription purchasing cialis viagra echeck canadian healthcare viagra sales levitra online pharmacy cialis canada 5mg cheap propecia no prescription free viagra without prescription buy cialis from india buy cheap uk viagra cialis free delivery viagra uk usa cialis women cialis 20 mg 100 mg viagra fast order cialis viagra in usa order rx canadian cialis buy generic viagra canada cheap fast generic viagra samples of cialis low cost viagra from canada canadian cialis without a perscription generic propecia cheap online presription for viagra viagra online without prescription from india best propecia prices buy canada in propecia levitra 20 mg viagra samples buy viagra with discount overnight cialis delivery saturday online canadian pharmacy levitra cialis from canada buy viagra online canada i need viagra now cialis price in canada propecia sales canadian online propecia uk order viagra online uk cialis london delivery buy propecia now pharmacys that sell propecia buy cialis mexico what is viagra soft tabs buy viagra online from canada cialis without prescription brand name buy propecia without prescription cialis australia buying generic viagra online for generic cialis for sale cialis 50 cheap cialis without rx buy online propecia viagra no prescription canada cialis no rx required viagra in australia canadian generic cialis - best price viagra overnite can viagra be purchased without prescription cheap propecia no prescription viagra 25 mg online viagra prescription label buy propecia international pharmacy i want free viagra cialis online us cialis canada on line propecia cialis viagra purchase cialis soft tabs find cialis no prescription required pharmacy fast delivery viagra cialis woman viagra for less in the usa cialis professional no prescription where can i purchase propecia uk viagra sales best deal for propecia best reviewed cialis sites online levitra cheap discount cialis purchase no rx cialis buy cialis online china viagra soft tablets canadi an pharmacy propecia viagra in the united kingdom we deliver to canada viagra generic cialis cialis super viagra drug viagra cheap viagra ship next day buy viagra without a prescription no prescription cialis united-pharmacy viagra tablets cialis buy pfizer viagra online canada viagra sales discount cialis online buy prescription propecia without cheap propecia online india female viagra cheap pfizer viagra for sale homemade viagra cialis brand without prescription generic viagra canadian viagra online overnight viagra pharmacy buy viagra online canada viagra switzerland cheap levitra online cialis 5 mg where to buy viagra online women viagra cialis prices cialis canadian cost where to buy viagra best cialis prices best place to buy viagra viagra ordering generic cialis sales find discount cialis online original brand cialis buy cialis online uk cialis tabs cialis canadian pharmacy buy cialis on line no prescription going off propecia canadian pharmacy viagra cheap generic prescriptions propecia canadian soft viagra real cialis without prescription canadian cialis 20 mg cheap propecia canadian pharmancy order cialis online canada levitra purchase cialis no prescription needed buy cialis from mexico canadian generic viagra online generic propecia finasteride price cialis cialis 5mg canadian generic buy propecia prescriptions online pill decription of propecia viagra medication cialis soft womens viagra online viagra generic best prpice cialis brand name cialis internet generic cialis mexico: one day delivery cialis viagra without prescription low price cialis buy viagra online canada cialis generic online cheap viagra online canadian healthcare viagra online uk get viagra fast best shop for viagra best price propecia womens viagra cheap no prescription cialis generic drug viagra fed ex cheap levitra without prescription viagra injectable buy cialis overnight delivery generic viagra online pharmacy canadian online pharmacy viagra canadian low price cialis and viagra generic propecia viagra healthcare canadian pharmacy propecia cost cheap generic levitra buy cheap cialis online uk cialis sale overnight shipping order viagra 25mg online canada bought cialis in mexico? where to get a precription filled for viagra cialis express delivery viagra professional canada generic levitra cialis buy viagra online canada cialis dosage viagra overnight mail order propecia prescriptions cialis samples canada cialis online pharmacy viagra online usa purchase cialis without prescription canada viagra pharmacies scam brand name viagra cialis online ordering cialis soft tablets purchase levitra canadian pharmacy where to purchase cialis viagra costs generic viagra canada buy cheap propecia online generic propecia alternative best doses for propecia viagra online reviews levitra versus viagra drug hair loss propecia united healthcare viagra ed canadian pharmacy where buy viagra buy viagra from canada viagra online wit cheapest viagra anywhere canadian cialis no prescription buy propecia now cheap prescription propecia cialis on prescrition in australia canadain cialis buy cialis online without prescription canadian pharmacy cialis 5 mg is buying viagra online bad viagra dose viagra no prescription needed propecia no prescription cialis no prescription needed quick delivery cialis ottawa pharmacy viagra sales in canada deals on cialis cialis generic cialis health store how to buy levitra in canada please prescription. 20 purchase cialis vs. australia healthcare online viagra cheap viagra from india how to get some viagra best viagra buy in canada online cialis lowest price propecia buy viagra online paypal viagra availability in chicago cheap propecia uk purchase viagra from canada purchase real name brand viagra generic cialis next day delivery alternatives to cialis cialis mail order usa cialis canadian pharmacy generic cialis mexico cialis free delivery generic online propecia generic propecia sale sales cialis viagra and paypal viagra, overnight delivery canadian healthcare find cheap viagra online no prescription viagra brand cialis online lowest propecia price soft tab viagra cialis women purchase viagra online pharmacy rx1 buy propecia now levitra 20mg canadian pharmacy discount lowest price propecia best pfizer viagra for sale viagra canda purchasing cialis with next day delivery canadian medicine viagra viagra online delivered next day propecia canada viagra.com viagra for sale online in the uk herbal propecia viagra online 50mgs cialis medication cialis professional 100 mg cialis delivered fast viagra cialis online sales viagra to sell buying cialis no prescription viagra for sale united pharmacy buying propecia cheapest price viagra cialis canada cheap cialis free samples drug viagra viagra delivered one day compare cialis prices online levitra discount pfizer mexico viagra best price viagra buy viagra lowest price 30 day package of cialis viagra cialis sales price of propecia from canada canadian levitra without prescription viagra online without prescription from canada propecia for sale how do i order viagra online cialis delivered canada ordering viagra uk 50mg viagra no prescription cialis generica generic levitra canada buy viagra without pr canada healthcare viagra mexico pharmacy cialis 10 mg vardenafil online cialis from india viagra in usa order cheap canadian viagra pills approved viagra pharmacy cialis sales usa order generic viagra canada buy cialis pills cialis order by mail rx canadian cialis free viagra cheap generic viagra india where to buy cialis compare cialis prices online cheap cialis in uk professional cialis cialis pills for sale guaranteed cheapest viagra cialis 10 mg levitra discount cheap drugs, viagra buy generic cialis online from canada canadian pharmacy no prescription needed viagra prescription for cialis online canadian rx viagra canada cheap viagra buy online viagra cialis for sale in uk viagra in usa order get viagra without a prescription cialis online store price check 50mg viagra cheapest viagra prices best prices on generic cialis find cheap viagra online name brand cialis levitra prescription levitra canadian pharmacy buy cialis online in usa propecia with no prescription cialis delivered canada best price for generic cialis online prescription propecia cheap price viagra discount sale viagra herbal viagra wholesale buy cialis online uk brand cialis for sale cialis from qualified pharmacy viagra availability in chicago cialis without prescription brand name purchase discount cialis canadian non prescription viagra canadian pharmacy cialis professional online cheap viagra canada canada healthcare viagra brand cialis online free sample pack of cialis viagra discount can viagra be purchased without prescription viagra quick delivery cheap cialis discount drug propecia cialis no presciptions cialis professional canadian pharmacy viagra no prescription best price generic cialis can levitra be bought without a prescription mexican viagra cialis without a prescription viagra professional canadian pharmacy brand name viagra buy viagra from canada cialis for free usa buy viagra viagra echeck discount price viagra find cialis no prescription required buy viagra without rx canadian healthcare canadian viagra and healthcare viagra in us pharmacy, propecia soft gel viagra canadian healthcare online viagra cheap viagra canada cialis prices viagra online no prescription canadian pharmacy discount code viagra we deliver to canada viagra generic levitra canadian healthcare buying cialis soft tabs 100 mg viagra prices viagra for order levitra sales online viagra new zealand buy viagra pills viagra in usa buy cialis on line canadian low price cialis and viagra viagra north shore three meds viagra when will viagra be generic cheapest propecia uk cheap viagra without prescription purchase viagra online without prescription cialis online usa viagra lawyers by cialis online buy cheap generic propecia best viagra soft prices viagra canda cialis online canada no prescription viagra express delivery propecia for sale online propecia without perscription viagra 25 mg online can i buy viagra in canada get propecia online pharmacy buying viagra in canada canadian healthcare viagra uk purchase viagra without prescription how to buy cialis viagra online in spain viagra pfizer no prescription cheap levitra without prescription cialis next day viagra north shore homemade cialis cialis no prescription needed quick delivery purchase cialis from us viagra free trial pack cheapest propecia indian cialis rx generic viagra cialis online canadian pharmacy buy viagra online without a prescription info viagra generic viagra online pharmacy generico viagra were to buy viagra online indian viagra cialis delivery canadian pharmacy viagra brand aus viagra viagra pill cheepest cialis cialis no rx discount generic propecia viagra 50mg no prescription 10mg levitra get viagra buy cheap propecia internet pharmacy propecia cost viagra propecia generic canada buy cialis on where to purchase cialis cialis 100 mg buy real cialis online get cialis very fast purchase discount cialis canadian viagra for sale cheapest price propecia cheap viagra canadian chemist generic propecia cheap purchase cialis online without prescription cheapest viagra to buy online in uk generic propecia india real viagra pharmacy prescription how much to buy viagra in pounds purchase viagra online best price generic propecia cialis canada online drugstore non prescription cialis buy cialis online usa viagra in usa levitra tablets canadian pharmacy viagra cheap cheap viagra internet 5mg cialis online viagra alternatives cialis +2 free viagra combine cialis and levitra best viagra and popular in uk cialis women viagra pharmacy cialis alternatives viagra cialis for sale buy propecia online usa how to order one viagra canadian healthcare online viagra levitra sales cialis health store online pharmacy canada viagra generic propecia online pharmacy online viagra levitra cialis viagra for sale fast viagra usa branded viagra cialis canada on line propecia in canada daily cialis online buy generic cialis canada viagra overnight shipping 100 mg viagra canada pfizer viagra cheap real viagra to buy propecia dr dallas levitra for sale canadian health care pharmacy order viagra viagra online uk usa cialis sales buy cialis without rx viagra canadian chemist online generic cialis 100 mg cialis from india tablet viagra propecia online usa viagra seizures viagra soft cialis and viagra on li cialis india pharmacy buy canadian cialis online best price propecia canada info viagra daily cialis for sale buy levitra online without prescription viagra 100mg england cheap cialis canada cialis eli lilly cialis for sale in uk quality cialis soft tabs cialis buy cialis online no prescription cialis online sale how much cialis canadian cialisis buy viagra 100mg cheap discount cialis safe online to buy cialis buy viagra online real brand viagra for sale viagra cheap fast shipping finasteride no prescription viagra pharmacy london how to get cialis in canada viagra express delivery buy real viagra pills usa cialis online uk viagra without prescription levitra viagra cialis brand cialis online fast shiping viagra canadiancialis viagra 100 non pescription cialis mail online order propecia canadian pharmacy for generic cialis viagra mastercard cialis by mail viagra professional canada order propecia online pharmacy canada cialis buying propecia online cialis vs levitra next day delivery cialis discount online propecia generic propecia in uk purchase viagra from us propecia 1mg price cialis online uk quick united states viagra cheapest cialis to buy online cialis mexico sell viagra tennessee online pharmacy propecia viagra fast shipping purchase cialis no prescription cialis online order cialis canadian buy cialis uk viagra soft tabs 50 mg canadian pharmacy for cialis canada viagra pharmacies scam canadian pharmacy cialis soft www.viagra.com 25mg viagra online search: rx1 cialis cialis daily canada branded viagra order cialis from canada cialis online shop cheapest propecia uk cheap viagra with fast delivery cialis fast delivery viagra online to canada brand viagra canada usa cialis selling propecia online cialis 10 mg best price for propecia online free cialis sample cialis samples canada viagra/cialis sales best prices for propecia pfizer viagra