This past week I was able to write a small application with the Flex 4 API and FlashBuilder. I have quite a bit of previous experience with Flex 3. As a side note, it seems that the name change from FlexBuilder to FlashBuilder came about to emphasize the new integration capabilities with Adobe’s new Catalyst product. Catalyst advertises as a visual (no code) designer tool to create composite applications with existing Photoshop, Fireworks and Illustrator artifacts. These can then be imported with FlashBuilder into your Flex 4 projects.
One of the major changes is an entirely new set of UI components called Spark. These will take a little bit of getting used to as you create separate mxml files (FXG Flex 4 XML Skinning markup) to handle visual aspects of your components. Once you get a grasp of this new architecture it will become apparent how much easier it will be to skin your custom components and work with state. This will also enable the separation of the visual design from the component. You can now have someone that specializes in visual design more easily skin components. This is also where Catalyst comes in to work with FXG to create your skinning.
Another aspect that I really like is the ability to continue to use Flex 3 objects with Flex 4. This will allow you to gradually integrate some of the new features. A piece of advice though is to remember which component group you are using. For instance, MX RadioButton events are not always captured by a Spark RadioButtonGroup. Make sure you are always paying attention to your name spaces:
Spark Component
MX Component
Some of the other aspects that win kudos:
- Two way binding e.g. @{object}. Cuts down the amount of code, that’s always a good thing!
- The new Group and Scroller classes. Using the Group to handle layout while having a defined scroller object makes it easier to work with containers and makes dynamic scrolling easier. For Instance, bring a component into view:
- Mxml:
<s:Scroller width="100%" height="100%">
<s:Group id="content">
<s:TextInput id="myField"/>
- ActionScript:
var myFieldBounds:Rectangle = myField.getBounds (this)
content.verticalScrollPosition = myFieldBounds.bottom;
- Faster compile times. It is not as fast as Java but it is helping with one of the gripes developers have about Flex.
- Find/Replace across the entire project. Another extremelly useful feature is now part of Flex and FlashBuilder.
- FlexUnit integration, improved refactoring and new data tools are all new features that should make Flex even more enjoyable to work with.
Just scratching the surface with the changes but they do look very positive. Like any tool set there are always frustrating aspects, but all-in-all, I believe Flex is heading in a very positive direction.
Lastly, owning a MacBook Pro allows one to appreciate Apple’s innovation and craftsmanship. Apple’s reluctance to install the Flash player on the iPhone and IPad is problematic for all. There are an enormous amount of websites using Flash and now Flex/Flash applications. There needs to be a meeting of the minds between Steve Jobs and Adobe. Any concerns voiced or changes that need to be made should be in an open and transparent fashion. It will be interesting watching this story play out.
At M&S, we are going virtual all the way. We have delivered a number of virtualized environments for customers. Some have been for Oracle Middleware solutions, some for complete Microsoft domains. Some for open source system. And many for development instances.
We have tinkered with going totally virtual for own infrastructure over the years, but decided to avoid biting the bullet for a number of reasons: migration time/effort has typically been at the top of the list. But with the improvements in virtualization technology, advantages proven now over years, apparent “stickiness” of the leading players, our own maturity in this space, and general adoption by the community at large (more clearly read, “readily available support”), we are diving in.
Over the next few weeks and months, each component of the M&S infrastructure will be moved to virtual machines. Certain details of our infrastructure will not be posted on this blog for security reasons, but there are team members working on this who will try to keep the blog up-to-date. If you are interested in how things are going, feel free to contact us. We are excited about this ride.
SSL with Oracle Application Server WebCache and iPhone
The latest iPhone update appears to have broken some SSL-enabled OracleAS sites. We have been working through finding a solution for an Oracle Portal customer of ours and it has been fairly hairy. On at least one of the environments, we have found a solution. We can likely help if you have been having an issue with your SSL handshakes.
Like many days, I had a need to query data stored in Oracle. But today was different. I needed to return the data in an XML format. I started with a very simple need and generated the XML brute-force while traversing my cursor. However, I realized the data would not be escaped properly and knew/assumed Oracle has created built-in functionality to accomplish what I was trying to do.
I then recreated my logic using DBMS_XMLGEN. This worked well, in that it created the desired result set, but I hate the idea of storing SQL in a string to be passed into a function, which is precisely what DBMS_XMLGEN was having me do. I had a hard time figuring out the precise technique recommended by Oracle, or even the “latest” technique. My client’s environment was 9i, so I knew I wasn’t going to get to play with anything interesting 11g might have to offer.
My brief research showed that SQL/XML (SQLX) appeared to be the best option. A few hours later, it really has been nice. I have been able to create both simple and complex XML results. Once you have the syntax down, you can generate just about any XML structure you desire.
Let me know if you come across anything more interesting/useful than SQLX for querying Oracle RDBMS tables (not XML data stored natively in the DB), and I’ll be interested in checking it out.
I have been somewhat enamored by Google Apps and its potential. Many enterprises have been happy with Exchange for mail, calendaring, contacts, and more. I have been one of those people. However, I have found Google Apps to be getting better and better for use in the enterprise and I will not be surprised to see it begin to take significantly larger chunk of market share from Microsoft over time.
Read Google Apps Reporting API - Not quite this easy with Exchange...
I have been tasked with coming up with a modularized approach for logically separating out an extensive Flex application I am developing. I see Flex 3.4 might have some features I can take advantage of.
The site search game is changing with Google CSE.
Read Google Custom Search Engine (CSE)...
No Comments »
Filed Under
News and Updates,
Offerings,
Technical Tips // Tags:
11g,
identity management,
oracle application server,
oracle architecture,
oracle soa bpel,
recent work,
virtualize and vm,
web 2.0,
webcenter
We have recently been working on and completed an entire Oracle Fusion Middleware 11g environment setup for a customer:
- Identity Management
- WebCenter (Framework and Services)
- SOA Suite
- UCM
This article is part of the recent work short blurb series.
I just had a discussion with an M&S SOA Architect about the advantages and disadvantages of BPEL vs ESB, and more importantly, where to use which in practical business scenarios.
This article is part of the recent work short blurb series.
I had the age-old requirement today to build a data-driven, dynamic form…only this time with my RIA written in Adobe Flex. It was just as fun as normal, and this time it looks very nice with the RIA feel.
This article is part of the recent work short blurb series.