Log on:
Powered by Elgg

Matthew Weaver :: Feeds

November 30, 2010

iPad Production Capacity Reportedly Increased

Anticipated iPad demand this Christmas reportedly has Apple’s Chinese iPad maker Foxconn bringing in added capacity. According to Digitimes, Foxconn, which is capable of producing 2.5 million units a month at its plants in Shenzhen – provided it’s got all the components – has also started mass producing the dingus at its new plants in Chengdu where it can currently churn out another 10,000 units a day. Quoting sources it says Foxconn plans to set up about 50 production lines in Chengdu where annual maximum capacity could reach about 40 million units. Jefferies thinks there could be rush orders as soon as next week. Digitimes also heard that iPad 2 could launch at the end of Q1.

read more


What Used to Be SGI Sues Apple, Acer, Gateway, Lenovo, Dell & HP

Graphics Properties Holdings Inc (GPHI), which basically used to be Silicon Graphics, is suing Apple, claiming the iMac and Mac Pro willfully infringe on of its two floating point rasterization patents (Nos 6,650,327 and 7,518,615) and being willful it wants treble damages. Acer, Toshiba and Nintendo are also named in the suit, which was filed in New York and discovered by Patently Apple. GPHI is the asset management company owned by private investment funds and other institutional investors following the bankruptcy of Silicon Graphics last year. It owns 300 some odd patents used for graphics, computers and displays and is in business to make money by licensing the IP. It recently won an appeal in a case against AMD and ATI’s Radeon chip and upheld the validity of the ‘327 patent. GPHI filed another case last week against Gateway, Lenovo, Dell and HP on the same patents.

read more


Creating an ADF Library JAR

Projects and the Application itself in Oracle's JDeveloper 11g are capable of generating different deployment files at design time, including WAR files, EAR files, JAR files and other standard Java EE archive types. In addition JDev can generate a special JAR type specific to ADF development known as an ADF library. An ADF library differs from standard JARs in that the ADF library includes additional metadata files and constructs required for ADF application development.

To create an ADF library JAR you first need to setup an associated ADF library JAR via the project properties. This is well document in the Fusion Guide.

From here there are essentially 2 ways to actually generate the ADF library JAR. The first is within the IDE via the project right-click deploy options, and applicable to programmers developing in their JDev IDE.

The other option particularly important to build environments is the ojdeploy utility. This tool can be called via the command line or an Ant script, and is necessary for generating ADF library JAR files with the required metadata files and other ADF constructs.

In specifically considering the ant script option for ojdeploy, JDev will create a basic Ant script for building your applications via the New Gallery -> Ant -> Buildfile from Project option. In the dialog that displays selecting the "Include Packaging Tasks (uses ojdeploy)" checkbox ensures the generated Ant script includes an ojdeploy target:

The resulting Ant file will look something like this:

<?xml version="1.0" encoding="UTF-8" ?>
<project name="ViewController" default="all" basedir=".">
<property file="build.properties"/>
<path>....snipped....</path>
<target name="init">
<tstamp/>
<mkdir dir="${output.dir}"/>
</target>
<target name="all" description="Build the project" depends="deploy,compile,copy"/>
<target name="clean" description="Clean the project">
<delete includeemptydirs="true" quiet="true">
<fileset dir="${output.dir}" includes="**/*"/>
</delete>
</target>
<target name="deploy" description="Deploy JDeveloper profiles" depends="init,compile">
<taskdef name="ojdeploy" classname="oracle.jdeveloper.deploy.ant.OJDeployAntTask" uri="oraclelib:OJDeployAntTask"
classpath="${oracle.jdeveloper.ant.library}"/>
<ora:ojdeploy xmlns:ora="oraclelib:OJDeployAntTask" executable="${oracle.jdeveloper.ojdeploy.path}"
ora:buildscript="${oracle.jdeveloper.deploy.dir}/ojdeploy-build.xml"
ora:statuslog="${oracle.jdeveloper.deploy.dir}/ojdeploy-statuslog.xml">
<ora:deploy>
<ora:parameter name="workspace" value="${oracle.jdeveloper.workspace.path}"/>
<ora:parameter name="project" value="${oracle.jdeveloper.project.name}"/>
<ora:parameter name="profile" value="${oracle.jdeveloper.deploy.profile.name}"/>
<ora:parameter name="nocompile" value="true"/>
<ora:parameter name="outputfile" value="${oracle.jdeveloper.deploy.outputfile}"/>
</ora:deploy>
</ora:ojdeploy>
</target>
<target name="compile" description="Compile Java source files" depends="init">
<javac destdir="${output.dir}" classpathref="classpath" debug="${javac.debug}" nowarn="${javac.nowarn}"
deprecation="${javac.deprecation}" encoding="UTF-8" source="1.6" target="1.6">
<src path="src"/>
</javac>
</target>
<target name="copy" description="Copy files to output directory" depends="init">
<patternset id="copy.patterns">
<include name="**/*.gif"/>
<include name="**/*.jpg"/>
<include name="**/*.jpeg"/>
<include name="**/*.png"/>
<include name="**/*.properties"/>
<include name="**/*.xml"/>
<include name="**/*.ejx"/>
<include name="**/*.xcfg"/>
<include name="**/*.cpx"/>
<include name="**/*.dcx"/>
<include name="**/*.sva"/>
<include name="**/*.wsdl"/>
<include name="**/*.ini"/>
<include name="**/*.tld"/>
<include name="**/*.tag"/>
<include name="**/*.xlf"/>
<include name="**/*.xsl"/>
<include name="**/*.xsd"/>
</patternset>
<copy todir="${output.dir}">
<fileset dir="src">
<patternset refid="copy.patterns"/>
</fileset>
</copy>
</target>
</project>
In particular notice the Ant targets: init, clean, deploy, compile and copy. Note within the deploy target a call to the ojdeploy utility.

Now you'd think with these 5 targets generated by JDeveloper that they are all co-related and have dependencies. You can even see the deploy-ojdeploy target has dependencies on the init and compile targets. Unfortunately this is misleading.

The ojdeploy utility written by Oracle is in fact capable of doing all the other targets' tasks. The utility takes care of creating/initializing the destination directories, it cleans and compiles the specified application or project, and it takes care of copying all class files. In fact if you leave the other targets in the Ant script this can interfere with the operation of the ojdeploy utility and you should in fact remove them. Instead you should have something like this:

<project name="ViewController" default="all" basedir=".">
<property file="build.properties"/>
<path>....snipped....
<target name="deploy" description="Deploy JDeveloper profiles" depends="init,compile">
<taskdef name="ojdeploy" classname="oracle.jdeveloper.deploy.ant.OJDeployAntTask" uri="oraclelib:OJDeployAntTask"
classpath="${oracle.jdeveloper.ant.library}"/>
<ora:ojdeploy xmlns:ora="oraclelib:OJDeployAntTask" executable="${oracle.jdeveloper.ojdeploy.path}"
ora:buildscript="${oracle.jdeveloper.deploy.dir}/ojdeploy-build.xml"
ora:statuslog="${oracle.jdeveloper.deploy.dir}/ojdeploy-statuslog.xml">
<ora:deploy>
<ora:parameter name="workspace" value="${oracle.jdeveloper.workspace.path}"/>
<ora:parameter name="project" value="${oracle.jdeveloper.project.name}"/>
<ora:parameter name="profile" value="${oracle.jdeveloper.deploy.profile.name}"/>
<ora:parameter name="outputfile" value="${oracle.jdeveloper.deploy.outputfile}"/>
</ora:deploy>
</ora:ojdeploy>
</target>
</project>
If you've looked very carefully, you might have noticed I removed the nocompile option for ojdeploy. Bizarrely this boolean option takes three forms: true, false, and, the one you need to use to ensure the correct ADF constructs (such as task-flow-registry.xml) are added to the end ADF library JAR, is remove the nocompile option completely.

(This is bug 9000629 – closed by Support, not considered a bug, but confusing and not intuitive by design)

On the Windows platform you need to be careful that any paths you include in the ojdeploy target within the Ant script (either directly or indirectly via a properties file) exactly match the case of the Windows file system, otherwise similar issues can occur.

(Another bug 10028816 – confirmed bug – fixed 11.1.1.4.0 – patch available for 11.1.1.2.0)

Finally there's also a bug in the ojdeploy workspace option that it can't support the Ant script ${user.dir} property. This isn't applicable to the example above but I thought worth documenting.

(Bug 10028879 – confirmed bug – fixed 11.1.1.4.0 – patch available for 11.1.1.2.0)

Entirely separately to generating ADF libraries, if you wish to use the ojdeploy utility to create an EAR via the workspace, you do this by dropping the project option leaving the workspace, profile and outputfile options. If you do this under JDev 11.1.1.2.0 specifically you'll see the error message "Missing <workspace>, <project> or <profile> parameter in <deploy> element", caused by a bug in the ojdeploy utility, of which there is a patch available.

(Bug 9135159 – confirmed bug – fixed 11.1.1.3.0 – patch available for 11.1.1.2.0)

Addendum

All the above documented via JDev 11.1.1.2.0.

read more


November 29, 2010

Apple Updates iOS

Apple updated iOS, its operating system for iPad, iPhone and iPod touch, to rev 4.2, putting the three devices on a common platform for the first time. iPad can now do stuff like wirelessly print over Wi-Fi networks or AirPrint provided you have a sympathetic HP printer; multitask; find text on web pages; consolidate e-mails from multiple accounts in one inbox; thread messaging; store application in folders; and wirelessly stream music to stereos. Steve Jobs claimed the update “makes the iPad a completely new product.” Apple has also – usefully – made its “Find My iPhone” widgetry free. A map will show you approximately where it is and have it sound an alarm (another annoyance of modern living). It works with iPad too and in a pinch the dingus could be scrubbed clean.

read more


A New Kind of Java Tutorial is Almost Ready

During the last six months I had a pet project for Wiley Publishing. I’ve been writing a new Java tutorial. It’ll teach Java programming in a little bit different style than traditional Java books. But let me tell you what’s the title of the book: "Java Programming 24-Hour Trainer".  I can almost hear the voices, "Yeah, yeah, yeah…Yet another promise to teach me Java in no time. How about teaching me Java in 24 minutes?"

This is not to state that you can learn the software covered in this book within 24 hours of studying. This is about having a trainer that’s with you 24 hours a day. This book is a set of short chapters with minimum amount of theory but with an instructional DVD, with screencasts recorded by yours truly. There is a screencast for each lesson except the last one. 


This relatively small 500-page book consists of 38 lessons and covers both Core Java and Java EE 6.  Each lesson is from 10 to 15 pages long so you won’t even have time to fall asleep. Each screencast is from 10 to 15 minute long so you won’t have time to get bored. At the end of this lesson is an assignment to complete. In this book I use Eclipse IDE and GlassFish v3 is the application server that I like.

Just look at these thirty eight lesson titles and give me a good reason why you shouldn’t be pre-ordering this book. Know Java already? Doesn’t really matter. I thought I knew it too before I started writing this book. Now I know it better. It’ll help the newbie’s to learn and seasoned Java programmers to refresh their knowledge, especially when it’s time to make a career move. These are the lesson titles:

1    Introducing Java
2    Eclipse IDE
3    Object-Oriented Programming
4    Class Methods
5    Back to Java Basics
6    Packages, Interfaces and Encapsulation
7    Programming with Abstract Classes and Interfaces
8    Introducing the Graphic User Interface
9    Event Handling in UI
10    Introduction to Java Applets
11    Developing a Tic-Tac-Toe Applet
12    Developing a Ping-Pong Game
13    Error Handling
14    Introduction to Collections
15    Introduction to Generics
16    Working with Streams
17    Java Serialization
18    Network Programming
19    Sending E-mails with Java
20    Introduction to Multithreading
21    Digging Deeper into Concurrent Execution
22    Working with Databases Using JDBC
23    Swing with JTable
24    Annotations and Reflection
25    Remove Method Invocation
26    Java EE 6 Overview
27    Programming with Servlets
28    JavaServer Pages
29    Developing Web Applications with JSF
30    Introducing JMS and MOM
31    Introducing JNDI
32    Introduction to Enterprise JavaBeans
33    Introduction to Java Persistence API
34    Working with RESTful Web Services
35    Introduction to Spring MVC Framework
36    Introduction to Hibernate Framework
37    Bringing JavaFX to the mix
38    Java Technical Interviews

This book will hit the bookstores in February and you can pre-order it on Amazon at this address. I hope you’ll enjoy reading this book as much as I enjoyed writing it.

read more


November 27, 2010

Keeping Up with the Internet Pace

One of the characteristic features of the 20th and 21st century is broadband internet. High technologies, managed networks, internet connection and the like surround, merge and are part of the everyday life of a human being. What are the advantages of it? There used to be very highly developed civilizations on the Earth. However one must also notice that our modern society has brought to the table and is still bringing in many new achievements. One of the characteristic features of the 20th and 21st century is broadband internet. High technologies, managed networks, internet connection and the like surround, merge and are part of the everyday life of a human being. In almost all spheres of our lives we are affected by technological progress. Why is this so? It is demanded and works effectively because it is permanently developing. It never ceases in its development. That is why it brings a lot of advantages.

read more


November 24, 2010

OpenXava 4.0: Rapid Java Web Development

OpenXava is a framework for Rapid Development of business applications using Java. The OpenXava 4.0 has been released recently, with many User Interface improvements (RIA), and more possibilities for developers (Groovy, JPA 2.0, DI). OpenXava is a framework for rapid development of business applications using Java. It is easy to learn and one can have an application up in no time. At the same time, OpenXava is extensible, customizable and the application code is structured in a very pure object oriented way, allowing you to develop arbitrarily complex applications. The OpenXava approach for rapid development differs from those that use visual environments (like Visual Basic or Delphi) or scripting (like PHP). Instead, OpenXava uses a model-driven development approach, where the core of your application are Java classes that model your problem. This means you can stay productive while still maintaining a high level of encapsulation.

read more


November 22, 2010

iOS4.2 for iPad Is Ready to Rock Your Enterprise World

In fact to be correct today is the day that iOS 4.2.1 finally becomes public and brings in line the coolest Tablet, with the coolest Smartphone. Apple have already posted the upgrade graphic and link to the iOS 4.2 page on http://www.apple.com and reports have it that the upgrade will be available from 10am PST today. If you have ready my other article on...Will the iOS4.2 Upgrade for iPad Make a Change to Enterprise Adoption? you will be aware of my thoughts.

read more


Terracotta’s BigMemory Goes GA

Terracotta’s BigMemory for Enterprise Ehcache snap-in solution to Java’s garbage collection (GC) nightmare has emerged from six weeks in beta with 250–300 registered users and has gone GA. Testing of the pure Java Ehcache add-on reportedly indicated application performance was steady, predictable and completely linear up to 350 gigs of cache without custom tuning. The company is now trying to get its hands on a Dell box with 500 gigs of memory for further validation. Such boxes are becoming increasingly the norm but are next to impossible for Java to use to improve performance because of erratic garbage collection pauses.

read more


Apache, Oracle in Stalemate, Showdown Looms

Oracle has officially responded to the Apache Software Foundation’s attempt last week to foment mutiny inside the Java Community Process saying: “Oracle nominated Apache for a seat on the Executive Committee in recognition of Apache’s continued participation and valued contribution to the community. The recently released statement by the ASF Board with regard to their participation in the JCP calling for EC members to vote against SE7 is a call for continued delay and stagnation of the past several years. We would encourage Apache to reconsider their position and work together with Oracle and the community at large to collectively move Java forward. Oracle provides TCK licenses under fair, reasonable and non-discriminatory terms consistent with its obligations under the JSPA. Oracle believes that with EC approval to initiate the SE7 and SE8 JSRs, the Java community can get on with the important work of driving forward Java SE and other standards in open, transparent, consensus-driven expert groups. This is the priority. Now is the time for positive action. Now is the time to move Java forward.”

read more


November 20, 2010

Oracle’s Lawyer Drags Apology Out of SAP

Closing arguments in Oracle’s copyright infringement suit against SAP are set for next week. Oracle rested its case Monday without showing the jury its videotaped deposition of HP’s new CEO Léo Apotheker, who’s still MIA and likely to remain so until the jury figures out how much money SAP should pay Oracle for pinching its software. Oracle expects to get mileage out of the fact that Apotheker has been playing hide and seek and staying outside the reach of its process servers. It could show the video during rebuttal. According the Dow Jones blog All Things Digital, Oracle’s star litigator David Boies told the press last Friday outside court that “Maybe we’ll just let the jury know that [HP’s] hidden him. I think it may be better for the jury to know that here’s this guy who was at the center of all this [and we can’t find him].”

read more


November 17, 2010

Red Hat Consulting Strategic Migration Planning Guide

Considering a switch from WebLogic to JBoss Enterprise Application Platform? The Red Hat Migration Planning Guide details key considerations for planning a move from WebLogic to JBoss Enterprise Application Platform as well as common implementation and training standards and best practices.

read more


Apple Throws Java-for-Mac to OpenJDK

Apple late last month washed its hands of doing any more Java updates for Mac OS X and even suggested a Java runtime could disappear entirely from future versions of the operating system. Monday Apple said that OpenJDK would produce the Java widgetry for Mac OS from here on out.

read more


November 16, 2010

Java Thread Dumps

Software maintenance is a tedious and challenging job. As long as the software functions as expected, it looks great. Imagine the situation, your pager keeps buzzing in the midnight (Not a happy feeling, right?). Any software system, no matter how well it has been built and quality tested might get into run-time performance issues. The reasons can be within the functional boundary or can be from the external environment. Software systems are built on certain assumptions and pre-conceived notions. However, when they go live, the assumptions may turn out to be false causing the system to malfunction. In enterprise J2EE systems which generally have very large user base and involve interactions between heterogeneous systems, one of the general runtime issues reported is the system slowdown or system "hang". In such situations, the general trouble shooting pattern would be to analyze the Java thread dumps to isolate the threads which are causing the slow-down or hang. This article discusses the Java stack traces; anatomy of Java Threads and how to read thread dumps in general.

read more


November 15, 2010

Apple Finally Gets the Beatles: WSJ

Apple has been teasing everybody all day with a message on its web site that reads: “Tomorrow is just another day. That you’ll never forget. Check back here tomorrow for an exciting announcement from iTunes.” The Wall Street Journal late Monday claimed it had cracked the code and that Apple had finally wangled the long-sought right to distribute the Beatles’ music. The paper said Apple was talking to the group’s record label EMI just last week and that “there is still a chance that Apple could change plans at the last minute.” It could not learn the terms.

read more


Apple Jumps into Oracle’s OpenJDK Effort

Last month, Oracle announced that it was collaborating with IBM to support the OpenJDK development roadmap and delivery of Java SE [Standard Edition] . Now Oracle and Apple have announced the OpenJDK project for Mac OS X. The initiative will lead to Apple's Java technology becoming available to open source developers. Apple will be giving up all the necessary tools required for the free and open source Java SE 7 implementation on Mac OS X including a 32-bit and 64-bit HotSpot-based Java virtual machine, class libraries, a networking stack and the foundation for a new graphical client. The company said that Java SE 6 will continue to be available from Apple for Mac OS X Snow Leopard and the upcoming release of Mac OS X Lion. Java SE 7 and future versions of Java for Mac OS X will have to be procured directly from Oracle.

read more


Enterprising Pizza POS Software Solutions

When the time had come for pizza chain Pizza Nova to upgrade their IT, they tapped restaurant point of sale software developer Volante Systems and their Java based, Pizza POS solution to do the job. And it runs on Linux, too. Leading Canadian pizza chain Pizza Nova has been satisfying hungry appetites with authentic Italian cuisine since 1963. When the time had come for an IT upgrade, they hoped to improve communications, increase efficiencies and save money at the same time. To acheive all this, they tapped restaurant point of sale software developer Volante Systems and their Pizza POS solution to do the job.

read more


Apple Dumps Xserve All of a Sudden

Apple said Friday that it’s canning its rack-mounted Xserve servers because – Steve Jobs supposedly told an e-mail inquirer – “hardly anyone was buying them.” Good reason. Availability should cease rather abruptly come January 31 unless a petition that users have started persuades Apple to change its mind. Drives will be available until the end of 2011 or until they run out, whichever comes first. For the same money and ostensibly the same workloads Apple’s got a 12U (two across) tower system called the Mac Pro Server, normally a 2.8GHz quad-core Nehalem unit with 8GB of DDR3 memory and two 1TB drives – basically a high-end workstation that can also be had with one or two six-, eight- or 12-core Westmeres and a maximum four 2TB drives – but only six of ’em will fit where 36 Xserves used to go.

read more


November 12, 2010

Apache Foundation Incites Java Mutiny

The highly respected Apache Software Foundation (ASF), recently re-elected in a 95% landslide to the Executive Committee (EC) of the Java Community Process (JCP), is using its bully pulpit to incite mutiny, calling on other JCP members to vote down Oracle’s next proposed version of the language, Java 7. It wants the Java compatibility test kits (TCKs) that Sun promised in a letter of intent so it can certify Project Harmony, its breakaway open source version of Java Standard Edition for Linux, and it wants an end to the Field-of-Use (FOU) restrictions that Sun slapped on Java and Oracle means to continue. It’s threatening to walk out on the EC and slam the door behind it if it doesn’t get its way.

read more


November 10, 2010

Web Performance Optimization Use Cases - Part 3

In the first and second articles of this series I discussed benchmarking and different approaches towards optimization of web application. As already mentioned in the last article, as soon as you get used to working with Key Performance Indicators you will want to automatically monitor them. ShowSlow is a great example of how you can track performance metrics over time. dynaTrace also sends performance data to the public ShowSlow instance on a daily basis. You can read more on how we test about 3000 URLs every day.

read more


November 09, 2010

Intel Turns Contractor

Intel made the hairs on the back of the necks of the world’s great contract manufacturers stand up Monday when it said it would make somebody else’s chips for them. It’s never done that before and who knows where the experiment will take it. It’s going to make Achronix Semiconductor’s Speedster22i FPGAs on its drop-dead state-of-the-art 22nm process, which will only come on line next year.

read more


JDev: Programmatically Capturing Task Flow Parameters

We recently had the requirement to log all incoming and outgoing parameters from Bounded Task Flows (BTF) for JDeveloper 11g. Via the kind assistance of Simon Lessard and other OTN Forum helpers (of whom I'm very grateful) we were able to come up with the following solution. I share it here for others to benefit from Simon's advice.

read more


November 08, 2010

GitHub Support in IntelliJ IDEA 10

JetBrains adds GitHub support in IntelliJ IDEA 10 and other IntelliJ based products. Have you heard about Github and/or using it for your projects? GitHub support is coming in IntelliJ IDEA 10 and in other IntelliJ based products. With a new GitHub plugin installed you’ll be able to checkout your existing GitHub repository and auto-open it as a project or share a project on GitHub instantly. You can checkout an existing project and start coding in a few seconds!

read more


November 04, 2010

Taking a "Garden Fresh" Approach to Java-Based Enterprise POS Systems

Garden Fresh is a company with 119 Souplantation and Sweet Tomatoes restaurants operating in 15 states, offering fresh produce and salads, made-from-scratch soups, hot-tossed pastas, freshly baked breads and more. Since 1978, Garden Fresh has kept a commitment to delicious and healthy dining. The very first Souplantation restaurant was the first casual eatery brand to serve fresh, wholesome menu options, and the concept continues to resonate with customers.

read more


November 02, 2010

Apple Sues Motorola & Android over Touch Patents

Apple has sued Motorola in federal court for allegedly infringing on six of its touch screen patents, fingering all nine of Moto's smart Android phones and accusing the OS, UI and apps of messing with Apple's IP. Apple has to be running scared; the Android-backed Open Handset Alliance now claims a 44% smartphone market share to Apples 26%. This all comes a month after Motorola sued Apple for patent infringement in the iPhone/Pad/Pod and some Macs.

read more


<< Back Next >>