Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/www.schuirink.net/www/xml/headlines.php on line 383

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/www.schuirink.net/www/xml/headlines.php on line 384
oracle_blogs @ the web & the world :: hundreds of fresh newsfeeds on schuirink.net
schuirink.net
main destinations: home | the web & the world | out of here
Google

news headlines

News headlines collected from 498 newsfeeds.

Oracle Blogs

url: http://blogs.oracle.com

Sizing for data volume or performance or both?


Before you start reading this post please understand the following:

  • General Hadoop capacity planning guidelines and principles are here. I’m not doubting, replicating or replacing them.
  • I’m going to use our Big Data Appliance as the baseline set of components to discuss capacity. That is because my brain does not hold theoretical hardware configurations.
  • This is (a bit of) a theoretical post to make the point that you worry about both (just given away the conclusion!) but I’m not writing the definitive guide to sizing your cluster. I just want to get everyone to think of Hadoop as processing AND storage. Not either or!

Now that you are warned, read on…

Imagine you want to store ~50TB (sounded like a nice round number) of data on a Hadoop cluster without worrying about any data growth for now (I told you this was theoretical). I’ll leave the default replication for Hadoop at 3 and simple math now dictates that I need 3 * 50TB = 150TB of Hadoop storage.

I also need space to do my MapReduce work (and this is the same for Pig and Hive which generate MapReduce) so your system will be even bigger to ensure Hadoop can write temporary files, shuffle date etc.

Now, that is fabulous, so I need to talk to my lovely Oracle Rep and buy a Big Data Appliance which would easily hold the above mentioned 50TB with triple replication. It actually holds 150TB (to make the math easy for me) or so of user data, and you will instantly say that the BDA is way to big!

Ah, but how fast do you want to process data? A Big Data Appliance has 18 nodes, each node has 12 cores to do the work for you. MapReduce is using processes called mappers and reducers (really!) to do the actual work.

Let’s assume that we are allowing Hadoop to spin up 15 mappers per node and 10 reducers per node. Let’s further assume we are going full bore and have every slot allocated to the current and only job’s mappers and reducers (they do not run together I know, theoretical exercise – remember?).

Because you decide the Big Data Appliance was way to big, you have bought 8 equivalent nodes to fit your data. Two of these run your Name Node, your Jobtracker and secondary Name Node (and you should actually have three nodes of all this, but I’m generous and say we run Jobtracker on Secondary Name Node). You have however 6 nodes for the data nodes based on your capacity based sizing.

That system you just bought based on storage will give us 6 * 15 = 90 mappers and 6 * 10 = 60 reducers working on my workload (the 2 other nodes do not run data nodes and do not run mappers and reducers).

Now let’s assume that I finish my job in N minutes on my lovely 8 node cluster by leveraging the full set of workers, and assume that my business users want to refresh the state of the world every N/2 minutes (it always has to go faster), then the assumption would be to simply get 2 * the number of nodes in my original cluster assuming linear scalability… The assumption is reasonable by the way for a lot of workloads, certainly for the ones in social, search and other data patterns that show little data skew because of their overall data size.

A Big Data Appliance gives us 15 * 15 = 225 mappers and 15 * 10 = 150 reducers working on my 50TB of user data… providing a 2.5x speed up on my data set.

Just another reference point on this, a Terasort of 100GB is run on a 20 node cluster with a total disk capacity of 80TB. Now that is of course a little too much, but you will see the point of not worrying too much about “that big system” and think processing power rather than storage.

Conclusion?

You will need to worry about the processing requirements and you will need to understand the characteristics of the machine and the data. You should not size a system, or discard something as too big right away by just thinking about your raw data size. You should really, really consider Hadoop to be a system that scales processing and data storage together and use the benefits of the scale-out to balance data size with runtimes.

PS. Yes, I completely ignored those fabulous compression algorithms… Compression can certainly play a role here but I’ve left it out for now. Mostly because it is extremely hard (at least for my brain) to figure out an average compression rate and because you may decide to only compress older data, and compression costs CPU, but allows faster scan speeds and more of this fun stuff…



MPEG-4 multimedia support in JavaFX


Content by Brian Burkhalter 

With JavaFX 2.1, we are introducing playback support for digital media stored in the MPEG-4 multimedia container format containing H.264/AVC video and Advanced Audio Coding (AAC) audio. This new capability will work across all operating systems supported by JavaFX, including Mac OS X, Linux, 32-bit Windows XP and Vista, and 32-bit and 64-bit Windows 7. On Mac OS X and Windows 7 playback will be functional without requiring additional software, however on Linux and versions of Windows older than Windows 7, readily available third party packages (such as this one) must be acquired and installed on the system.

Actual audio and video decoding rely on operating system-specific media engines. The JavaFX media framework does not however attempt to handle all multimedia container formats and media encodings supported by these native engines, opting instead so far as possible to provide equivalent, well-tested functionality across all platforms on which JavaFX runs.

One known limitation of JavaFX MPEG-4 media playback on Mac OS X is that at most one single H.264-encoded video stream may be played at a time. There are however no inherent limitations on the number of AAC-encoded tracks which may be played aside from those imposed by system resources. This issue is still under investigation.


Playing an MPEG-4 media source is identical to playing any other type of media content*. The media stack dynamically detects the type of multimedia container and encodings and responds accordingly.

Here is what the code looks like:

/*

 * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
 */

import javafx.application.Application;
import javafx.collections.ListChangeListener;
import javafx.collections.MapChangeListener;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.media.Media;
import javafx.scene.media.MediaView;
import javafx.scene.media.Track;
import javafx.stage.Stage;

/**
 * A sample media player which loops indefinitely over the same video
 */
public class MediaPlayer extends Application {
private static final String MEDIA_URL = "http://someserver/somedir/somefile.mp4";

private static String arg1;

    @Override public void start(Stage stage) {
        stage.setTitle("Media Player");

// Create media player
        Media media = new Media((arg1 != null) ? arg1 : MEDIA_URL);
        javafx.scene.media.MediaPlayer mediaPlayer = new javafx.scene.media.MediaPlayer(media);
        mediaPlayer.setAutoPlay(true);
        mediaPlayer.setCycleCount(javafx.scene.media.MediaPlayer.INDEFINITE);

// Print track and metadata information
        media.getTracks().addListener(new ListChangeListener<Track>() {
public void onChanged(Change<? extends Track> change) {
                System.out.println("Track> "+change.getList());
            }
        });
        media.getMetadata().addListener(new MapChangeListener<String,Object>() {
public void onChanged(MapChangeListener.Change<? extends String, ? extends Object> change) {
                System.out.println("Metadata> "+change.getKey()+" -> "+change.getValueAdded());
            }
        });

// Add media display node to the scene graph
        MediaView mediaView = new MediaView(mediaPlayer);
        Group root = new Group();
        Scene scene = new Scene(root,800,600);
        root.getChildren().add(mediaView);
        stage.setScene(scene);
        stage.show();
    }

public static void main(String[] args) {
if (args.length > 0) {
            arg1 = args[0];
        }
        Application.launch(args);
    }
}

(*) JavaFX 2.0 already supports  the following media formats:

  • Audio: MP3; AIFF containing uncompressed PCM; WAV containing uncompressed PCM
  • Video: FLV containing VP6 video and MP3 audio



Documentation Feedback for End User Documents, this Blog, and My Oracle Support Articles


Oracle Retail welcomes customers' comments and suggestions on the quality and usefulness of its documentation.

To send comments about this Blog or the End User Documentation hosted on the Oracle Technology Network and packaged with the code, use this email address: retail-doc_us@oracle.com

To comment on a Document (such as a White Paper) in the Knowledge Browser of My Oracle Support, click the Rate this document button. In the Comments box, you will see the following text, “Provide feedback for this article.” Once Oracle Retail receives your feedback, the article can be clarified or corrected as needed.

Some questions to consider include:

  • Are the implementation steps correct and complete?
  • Did you understand the context of the procedures?
  • Did you find any errors in the information?
  • Does the structure of the information help you with your tasks?
  • Do you need different information or graphics? If so, where, and in what format?
  • Are the examples correct? 


ODI 11g – Interface Builder


In the previous blogs such as the one here I illustrated how to use the SDK to perform interface creation using various auto mapping options for generating 1:1 interfaces either using positional based matching, like names ignoring case and so on. Here we will see another example (download OdiInterfaceBuilder.java) showing a different aspect using a control file which describes the interface in simple primitives which drives the creation. The example uses a tab delimited text file to control the interface creation, but it could be easily taken and changed to drive from Excel, XML or whatever you wanted to capture the design of the interface.

The interface can be as complete or incomplete as you’d like, so could just contain the objects or could be concise and semantically complete.

The control file is VERY simple and just like ODI requests the minimal amount of information required. The basic format is as follows;

Directive Column 2 Column 3 Column 4 Column 5
source <model> <datastore>    
   can add many        
target <model> <datastore>    
mapping <column> <expression>    
   can add many        
join <expression>      
   can add many        
filter <expression>      
    can repeat many        
lookup <model> <datastore> <alias> <expression>
   can add many        

So for example the control file below can define the sources, target, joins, mapping expressions etc;

source    SCOTT    EMP
source    SCOTT    DEPT
target    STG_MODEL_CASE    TGTEMP
mapping    ENAME    UPPER(EMP.ENAME)
mapping    DNAME    UPPER(DEPT.DNAME)
mapping    DEPTNO    ABS(EMP.EMPNO)
join    EMP.DEPTNO = DEPT.DEPTNO
lookup    SCOTT    BONUS    BONUS    BONUS.ENAME = EMP.ENAME
filter    EMP.SAL > 1
mapping    COMM    ABS(BONUS.COMM)

When executed, this generates the interface below with the join, filter, lookup and target expressions from the file.

You should be able to join the dots between the control file sample and the interface design above.

So just like the initial post you will compile and execute the code, but use the different classname OdiInterfaceBuilder;

java –classpath <cp> OdinterfaceBuilder jdbc:oracle:thin:@localhost:1521:ora112 oracle.jdbc.OracleDriver ODI_MASTER mypwd WORKREP1 SUPERVISOR myodipwd STARTERS SDK DEMO1 <myinterfacecontrolfile.tab

The interface to be created is passed from the command line. You can intersperse other documentation lines between the control lines so long as the control keywords in first column don’t clash.

Anyway some useful snippets of code for those learning the SDK, or for those wanting to capture the design outside and generate ODI Interfaces. Have fun!



NEW STUDY: Oracle Database 11g Delivers Significant Savings over Microsoft SQL Server


ORC International: Oracle Database 11g is 49% Easier to Manage and 46% Less Complex

Oracle Database 11g Release 2 continues to outperform Microsoft SQL Server 2008 Release 2 by a substantial margin, according to a new ORC International study. In the report, "Database Manageability and Productivity Cost Comparison Study Oracle Database 11g Release 2 vs. Microsoft SQL Server 2008 Release 2," Oracle once again demonstrates its leadership in overall database self-manageability with significant productivity and complexity savings.

The study found that Oracle Database 11g Release 2 took half the amount of time and effort to complete four routine database administrator (DBA) tasks compared to Microsoft. The study measured typical tasks such as initial database setup, routine daily administrative tasks, and backup and recovery, as well as performance and tuning tasks.

In one particular scenario, the study illustrated how a DBA could perform database diagnostics and tuning tasks 143 times faster using Oracle Database 11g over Microsoft SQL Server 2008. The report concluded that Oracle allowed IT organizations and DBAs to

  • Perform administrative tasks 49% faster than Microsoft SQL Server 2008
  • Save time with 46% fewer steps for the same set of standard routine functions versus Microsoft
  • Increase productivity and save businesses up to US$58,800 per year per DBA by using Oracle Database 11g over Microsoft SQL Server 2008

This report, along with similar competitive studies ORC International conducted including one against IBM DB2 9.7, reaffirms Oracle Database 11g as an industry leader with its unique self-managing automation and performance capabilities. Oracle Database 11g, along with Oracle Enterprise Manager 12c Database Management Packs, continue to help DBAs become more productive at getting their jobs done faster and with less effort.

More information
To learn more about Oracle Database 11g and Oracle Enterprise Manager 12c, please visit:


Oracle Named a Leader in both User Provisioning and Identity and Access Governance


Oracle Identity Management solutions were positioned in the Leaders quadrants, in the two recently published Gartner Magic Quadrant reports. This post is the first in a series of multi-part blog discussion, and over the course of next few weeks, we’d be covering details on what we believe make Oracle’s User Provisioning (Identity Administration) solution, Oracle Identity Manager and our Identity and Access Governance solution, Oracle Identity Analytics truly unique and industry leading.

Gartner published their first-ever Magic Quadrant for Identity and Access Governance and Oracle is a leader.

Source: Gartner Magic Quadrant for Identity and Access Management, Dec. 15, 2011. Doc ID#223606. Authors: Earl Perkins and Perry Carpenter. Page 3

This graphic was published by Gartner, Inc. as part of a larger research document and should be evaluated in the context of the entire document. The Gartner document is available by clicking on the note title. Gartner does not endorse any vendor, product or service depicted in its research publications, and does not advise technology users to select only those vendors with the highest ratings. Gartner research publications consist of the opinions of Gartner's research organization and should not be construed as statements of fact. Gartner disclaims all warranties, expressed or implied, with respect to this research, including any of warranties of merchantability or fitness for a particular purpose.

Identity and Access Governance solutions offer business users identity analytics and reports to address governance, audit and compliance challenges. According to Gartner, leaders in Identity and Access Governance (IAG) are “composed of vendors that provide products with a good functional match to client requirements for establishing a governance system for access. These vendors have been successful in building an installed base and revenue stream within the IAG market, and have a relatively high viability rating (because of IAG revenue). Leaders also show evidence of superior vision and execution for anticipated requirements, as they relate to technology, methodology or means of delivery. Leaders typically have significant market share, strong revenue growth, and demonstrated early customer satisfaction with IAG capabilities and/or related service and support.”

Oracle Identity Analytics is an advanced Identity and Access Governance solution from Oracle offering rich analytics, prioritized risk scoring, business-friendly dashboards, and advanced compliance features that monitor, analyze, review, and govern user access to mitigate risk, build transparency and satisfy compliance mandates.

The key challenge we often hear organizations talk about is scaling the compliance processes. Performing access certifications across not a handful but 100s of applications requires not just an automated solution but a powerful (but business friendly) process engine solution powered by analytics to make sense of all the data. To make it a real world discussion rather than a theoretical one, join ING and Oracle on a live webcast:  Scaling Role Management and Access Certification to Thousands of Applications on Wednesday, April 11, 2012 10:00 AM PDT where ING discusses how they successfully tackled the scale challenge.

Close on its heels, Gartner also published its 2011 Magic Quadrant for User Provisioning and Oracle is a Leader.

Source: Gartner Magic Quadrant for User Administration/Provisioning, Dec. 22, 2011. ID# G00219354. Authors: Perry Carpenter and Earl Perkins. Page 4

This graphic was published by Gartner, Inc. as part of a larger research document and should be evaluated in the context of the entire document. The Gartner document is available by clicking on the note title. Gartner does not endorse any vendor, product or service depicted in its research publications, and does not advise technology users to select only those vendors with the highest ratings. Gartner research publications consist of the opinions of Gartner's research organization and should not be construed as statements of fact. Gartner disclaims all warranties, expressed or implied, with respect to this research, including any of warranties of merchantability or fitness for a particular purpose.

Two things are clear with these reports. Organizations are looking at integrated, platform solutions to meet their audit and compliance needs. Platform approach is the only viable approach to close security and audit gaps, reduce TCO and derive the complete picture. And we believe with Oracle’s positioning in the leaders quadrant for both User Provisioning and Identity and Access Governance, organizations are assured that they are not only getting the complete solution but also best-in-class, backed by a strategic vision and strong executive commitment. Seamless integration with Oracle Identity Manager 11g makes Oracle Identity Analytics 11g industry's only access governance solution to offer an accurate closed-loop remediation solution with risk feedback calculated over a user’s lifecycle as actionable insight for certification reviews. To get customers’ perspectives on the implementation and results from the platform approach, we recommend you look at our monthly webcast series on the subject:

Customers Talk: Identity as a Platform.

If you are looking at user provisioning and/or compliance solutions, we suggest you start by downloading these analyst reports and our recently issued press release on the subject. For more information on Oracle’s platform approach to Identity Management and to learn more about our best-in-class Identity Management solutions, visit us at www.oracle.com/identity or contact us via our online communities: Facebook, Blog and Twitter.

You may also find the following resources helpful:

Ongoing Webcast Series: Customers Talks: Oracle Identity Management as a Platform

ISACA Webcast: Limiting Audit Exposure and Managing Risk with Metrics-Driven Identity Analytics

Customer stories: Tackling Compliance Challenges with Oracle Identity Analytics

What’s New in Oracle Identity Manager 11g



Java Day, St. Petersburg...


...hasn't started yet:

Free event, tomorrow: http://javaone.ru/javaday/program/conference-program



ATG in the Telecommunications Industry


The purpose of this post is to describe how ATG can help organizations in the Telecommunications industry achieve their online goals.  ATG has established a leadership role in the overall practice of online commerce and service.  Many of the top retailers around the world use ATG to drive their online business, and in many ways, retailers’ requirements for a commerce platform are similar to that of a Telco.   Common needs between the two industries include performance, scalability, advanced personalization capabilities, optimized business tools to control the site(s), and the need for a commerce platform that provides a careful balance between offering a rich feature set along with the ability to extend / customize the platform to meet the organizations needs.

ATG has proven success with some of the leading telco providers in the world.  We have worked closely with these organizations both to ensure their success as well as understand the value ATG delivers to them.  We have found that there are numerous requirements that are unique to the Telecommunication industry, some of which are discussed below.  When possible, we will also use this document to describe best practices for particular use cases.

Product availability / compatibility

The following examples are primarily geared towards the wireless product line, but the general concepts can be applied to other types of products as well.

Mapping between services and geography

It’s quite obvious that not all service plans are available in all geographic regions.  During the shopping process, it’s necessary for the customer to identify their geographic region (typically by entering their zipcode) in order for the site to only show service plans that are available in their area.  Measures should be taken to ensure that the customer does not have to enter this geographic information more than one time (preferably, across sessions).  ATG provides this capability as an out of the box feature (called Persistent Anonymous Profiles).  For more information on ATG Profiles, see this post.

Mapping between devices and services

Not all wireless service plans are available for all devices.  There needs to be a mapping between device and service plan to ensure that the customer selects a valid combination.  It’s common to represent this as a many to many relationship.  ATG’s Data Anywhere Architecture makes it possible to define these kinds of complex relationships. 

Mapping between accessories and devices

Not all wireless accessories will work with every device.  For example, an iPhone case will certainly not fit a Blackberry phone.  When a customer has selected a device, they should only be presented with accessories that will be compatible with that device.  Ignoring this need will certainly result in unhappy customers and a high return rate for accessories that are incompatible with the selected device.

How to present these complexities to the customer in a way that is intuitive within the shopping process

While it’s essential that the relationships above are enforced to avoid allowing the customer to purchase incompatible products, the work doesn’t stop there.  There are many ways to represent these relationships in the shopping process, but many of them may seem confusing to the customer.  Great care needs to be taken to ensure that the customer has an easy time understanding how to navigate these choices.  There are different approaches to this, some which are rigid and drive the customer down a particular path (see diagram below).  Others are more flexible, allowing the customer more freedom in their shopping process.  For example, perhaps the customer wants to select the device prior to selecting which service plan they want.  Which approach (or the degree of freedom your site employs) and it’s effectiveness will depend on your target audience.  ATG cannot make this decision for you, but there are tools in the platform that will help you to try different approaches, and measure the effectiveness of each with the goal of helping you to find the right mix for your customers. 

Technical side-note

The task of modeling the ATG catalog structure to accommodate the mapping described above should not be taken lightly.  Theoretically, there are many ways to do this, but there are two very important things to keep in mind:

  1. Depending on how the catalog is modeled, performance could be anywhere from very good to unacceptable given the complexity of the relationships between the items (compatibility).  Steps need to be taken to ensure that performance is acceptable during the customer experience.
  2. Regardless of the size of the catalog (number of items) or the complexity of the relationships between items, the catalog must be designed so that it's easy to manage.  Many times, data feeds will populate a significant portion of the online catalog, but the rest is usually managed using ATG's Business User tools (such as ATG Merchandising).  Take time to ensure that the design of the catalog can easily be managed by business users.

Personalization

What are common personalization goals for telcos?

The term Personalization means different things to different people, but within the context of the organizations online business, it generally boils down a few things; learning more about customer behavior, adapting the site to be more relevant to the customer, and helping guide the customer through various complex transactions (checkout, service, etc). A simple example of a common personalization use case would be the following:

  • A customer comes to the site, and enters their zipcode
  • Next, they spend some time browsing the Blackberry phones section of the site
  • You now know the geographic location of the customer, and the type of device they are likely to be interested in.  It would make perfect sense to adapt the site so that the 'featured devices' change from whatever the generic featured device set was for anonymous customers to something that would highlight the devices that seem most relevant to the customer.  Perhaps you could also offer a 'Which Blackberry is right for you' graphic that takes the customer to content that helps them to decide which Blackberry device is the best fit for their needs.  All the while, you could highlight some service plans that are available in their area as well as compatible with Blackberry devices.

To ATG, Personalization is part technology, but to a larger degree, it’s a strategy that our customer must define.  Our goals are to ensure that our tools enable our customers to fully implement their Personalization strategy as well as to provide best practices around personalization.  Click here for more information about ATG Personalization.

Product Bundling

Pre-defined by business

Bundling products and services together into logical sets of offerings has numerous advantages; provides the customer with an easier way to purchase the set of products / services, allows the organization to have more flexibility with respect to pricing, and it increases the adoption rate of less popular products by bundling them with the more popular items at a perceived low cost.  The task of determining the bundle mix is almost always done at a high level within the Marketing department, and then implemented across all the channels in a consistent manner.  The online channel needs to be flexible enough to handle any bundle mix the Marketing department defines.

Flexible

Although the business will likely define the basic structure of the bundles, there is usually some degree of flexibility offered to the customer within the bundle structure.  For example, a particular bundle may require that the customer select from a certain class of broadband, select various options for their home phone service, and select certain options for their TV service.  The choices they make within the three products (internet, phone, and cable) will affect the overall package price.  The bundle now has a well-defined set of products included, but with some degree of configurability within each product.

Reverse engineering into a ‘better package’

Another concept that some organizations strive for is to recognize which products a customer already owns (or has in their cart), and try to upsell them into a ‘better package’.  The better package would likely be a bundle that includes all the products they currently have as well as one that they customer does not have.  The advantage to the customer is that they can get an additional product for a small cost (due to how the bundle is priced).  The advantage to the organization is that they increase their adoption rate for the added product.

Custom storefronts  (B2B)

While the B2C site will typically drive the most traffic, the B2B sites may actually be driving the most revenue.  The B2B site will be the destination for your business clients to manage their services, order additional devices, etc.  Each of these sites will typically have a common set of capabilities, but will differ to some extent in terms of products available, pricing, and will generally have a co-branded look and feel.  For the sake of simplifying the terminology, let's call each business clients site a microsite.  Most of the requirements for the B2C site will also be required for the B2B site.  In addition, the B2B site will likely have some additional requirements as follows:

  • Catalog - Each microsite will need to show only the products that are allowed based on the contract between the tow companies.  ATG provides this capability in the form of ATG Custom Catalogs.
  • Pricing - Each microsite will need to apply specific (negotiated) pricing based on the contract as well.  ATG provides this capability via ATG Price Lists.
  • Organizations / roles / approval workflow - The business clients will need some security in place to ensure that people are creating orders that are appropriate for their business.  This means that the ability for them to 'self-administer' the site becomes critical.  These include functions like being able to define a multi-level organization, ability to assign meaningful roles to people, and defining an approval workflow for orders placed (including limits on order values).  ATG provides all of these capabilities.
  • Presentation / UI - Each business client may prefer some kind of unique style for their microsite.  There are plenty of different ways to accomplish this in ATG, and the best approach will depend on how you envision these creative aspects being managed.

Merchandising / Content Management

Managing a commerce site depends on a variety of people with a range of different skill sets and responsibilities.  One of the more important aspects to managing a commerce site is how to manage the catalog as well as the content.  ATG provides  a number of tools that allow business users the ability to make the necessary changes to both the catalog and content.  The primary tool for this purpose is ATG Merchandising.

Regardless of the types of products contained in the catalog (wireless devices, service plans, media downloads, etc), there will almost always be attributes that need to be added to the definition of the category, product, and SKU.  ATG's catalog is extremely flexible, and is designed to be extended in this way.  For example, the out of the box SKU definition does not have a property called 'GPS Enabled' with a true or false value.  This may be something you will need to add to the definition of the SKU in order to properly present the details about the product (or to use this attribute in rules where you filter out any SKUs that have that property set to false).  The point is that every ATG implementation will require some degree of extending the catalog definition, and the ATG business user tools will automatically interpret those extensions and present the UI appropriately with no additional coding.

Promotions / Discounts

Many retailers tend to make great use of discounts in order to entice customers to place orders.  Telecommunications organizations have the opportunity as well, but probably not with the same degree of flexibility.  Promotions / discounts for telecommunications sites tend to be used more as an instrument to affect pricing overall.  The most obvious way to affect pricing is by altering the actual price of a product in the price list.  It's also common to set the price of a bundle to a particular base price, and then the price will adjust up based on the options the customer selects.  If there is a desire to move more customers into a more expensive option, discounts could be used to give the impression to the customer that they are getting a good deal.  ATG provides for the ability to offer percent off, amount off, or fixed price on items, orders, or shipping.

Multi-language / multi-currency

Many sites will have a requirement where they need to present the catalog / content in multiple languages, as well as present pricing in multiple currencies.  This is especially true in Europe.  ATG's commerce platform fully supports multiple languages and multiple currencies.  Some ATG customers decide to create a single site supporting multiple languages and currencies (a centralized approach), while other customers will instead create a different site for each country that will only support a single language and currency (distributed approach).  Which approach you choose is up to you, but it's important to note that either is possible.

Self service / My Account

Online service is an essential aspect to overall customer satisfaction and retention.  Online service can involve a number of areas including finding the answer to a technical question, viewing statements, paying your bill, changing service plan, etc.  Some of these functions are best handled by exposing functionality from the backend systems as opposed to building this functionality in ATG.  A good example is viewing past statement.  There is no real benefit to re-creating this functionality within ATG as there is not likely to be any personalization or selling opportunity within that context.  Rather, it's probably better to simply get the customer the information they are looking for as quickly as possible.

Alternatively, ATG does offer a series to applications that can certainly help customers find answers to commonly asked questions.  This would be an example of functionality that is most likely best delivered by ATG.  In fact, if the customer has authenticated (we know some information about them) then there may be the opportunity to enhance their self service experience by guiding them to the most appropriate information based on what we know about them (products owned, etc).

This is an area where it's common to have some overlap between ATG and other applicaitons, so it's important to have a clear understanding of the capabilites of each applicaiton, as well as a clear understanding of what you're trying to achieve in this area.

Integrations

Without a doubt, the backend systems within the typical telecommunications organization are highly complex.  There are usually many systems which provide various functions, and each one tends to have it's own lifespan (recently added, mid-life, being phased out), which means there may be a situation where there is an 'old' customer master, and a 'new' customer master in production at the same time.  There is usually a mix of enterprise applications which have been customized to some degree, along with applications built internally by the IT group.   It's common for the IT group to split their time between supporting the enterprise applications and creating the integration infrastructure between them.

Virtually all ATG implementations require integrating to a number of third party applications, and it's no surprise that this tends to be a very important aspect of building out the site.  Some common integration points include things like sending the order to an order management system, receiving catalog feeds, pricing feeds, inventory feeds, tax calculation services, payment processing services, cross channel customer lookups / matching, fraud detection services, etc.  There are things for the IT group to consider when designing an integration:

  • Should the integration be real-time or batch?
  • Should it be synchronous or asynchronous?
  • What transport should we use?
  • How should we handle error conditions?

The ATG platform contains a variety of tools / API's that will help the IT group to simplify / standardize these integrations.  The Data Anywhere Architecture, Web Services, and Integration Framework should be considered when designing integrations to these backend applications.

Business concepts

Think like a retailer

This just make sense...  If you want to be effective at selling online, then you should think and act like a retailer.  In other words, you need to:

  • Merchandise the site in a simple and coherent manner.  The goal is to help customers navigate to the products / services they want as quickly as possible.
  • Provide an intuitive shopping process and avoid exposing all the complexities normally encountered when purchasing complex items.  Remember, the primary goal is to complete the sale, so creating unnecessary obstructions to checkout will make only push you further away from your goal.
  • Ensure that the site performs well.  Nobody likes to shop on a slow site.
  • Don't feel compelled to offer every product possible online as some of them just don't fit very well.  Use the 80/20 rule here and sacrifice complex situations to retain the simplicity of the customer experience.

Be open to re-org (combine business & IT into a closely knit group)

Consider creating a new online commerce group that is comprised of everyone who will actively maintain or support the site including both business and technical people.  This concept has had proven success in the past for a number of reasons:

  • Faster time to market - By bringing the technical and business people together, changes to the site tend to happen in much less time because the walls between the groups have come down.
  • Common goals - Everyone in this group should be measured by the performance of the site.  In this kind of environment, people tend to become much more cooperative in order to meet their common goals.
  • Single focus - People in this group should have a very sharp focus on the online business, and their level of channel expertise will increase over time.

Ensure the business is actively driving requirements (beware of making false assumptions)

Telecommunications organizations are commonly IT driven companies.  Creating an effective online commerce application absolutely requires the synchronized efforts of both the IT group as well as the business side.  

Conclusion

In order to compete in the extremely competitive online commerce space, Telecommunications organizations will need to find ways to differentiate themselves in the eyes of their customers and business clients.  ATG's commerce platform provides an an excellent foundation to build your customer facing sites on.  Many leading Telecommunications organizations around the world have already experienced success online with ATG.  Hopefully, this post has provided some insight into how ATG can help these organizations meet their online goals.



GlassFish 3.1.2 RC3 is here


GlassFish 3.1.2 Build 21 is now available and flagged as RC3.
Get it while it's hot, it may be the final build if we don't run into major issues. We've never been so close to a final 3.1.2 release! (do I sound like a broken record or am I just excited that this great release is finally here? ;)

ALT_DESCR


Zoning Out


So much virtualization. So little time.

You can virtualize your OS ...

You can virtualize your network.

You can virtualize your storage.

Your server.

Even your highly-personalized desktop.

Me? I would like to virtualize my virtualization technologies. I want ONE server. With ONE OS. And ONE toolkit. That can actually be made up of hundreds or even thousands of virtual OS instances, networks, storage devices, desktops, aircraft carriers, or whatever they virtualize next.

You can't quite do that yet, but in Oracle Solaris 11 you can create zones that are easy to clone on other systems. That's a step in the right direction, I think. The following article describes how. In case you're not too confident in your ability to juggle zones, I added an article that helps you get started with zones in Oracle Solaris 11, and a link to more resources.

How to Configure Zones in Oracle Solaris 11 for Easy Cloning

The easiest way to create a bunch of zones is to clone them from one or more originals. That seems simple enough if you are going to clone them on the same instance of Solaris, but what if you'd like to clone them on other systems? In that case, you need to use virtual networks. You need to set up an entire network topology of servers, routers, switches, and firewalls that you can clone right along with the zones. Jeff McMeekin describes how.

How to Get Started Creating Zones in Oracle Solaris 11

If you used zones (containers) in Oracle Solaris 10, you'll appreciate this article. Because zones are more tightly integrated with the architecture of Oracle Solaris 11, they're easier to set up and manage. In this article, Duncan Hardie demonstrates how to perform basic operations with zones: first, how create a single zone using the command line, then how to add an application to a zone, and finally how to clone a zone.

More Zones Resources

  • Solaris 11 Virtualization Page - Links to demos, podcasts, technical articles, and more resources to help you understand zones and how to use them.
  • Zones Collection - See what zones-related content we've published (or found) since the dawn of time.
  • RSS Feeds Page - Subscribe to zones-related content through your favorite reader.

- Rick
Website
Newsletter
Facebook
Twitter


OBIEE 11.1.1 - In BI Publisher cannot View PDF in Internet Explorer 7 and 8 over SSL using WebGate/OHS as front-end


Set CachePragmaHeader and CacheControlHeader to public.

This setting applies only to WebGates. These settings control the browser's cache. By default, CachePragmaHeader and CacheControlHeader are set to no-cache. This prevents WebGate from caching data at the Web server application and the user's browser. However, this may prevent certain operations such as downloading PDF files or saving report files when the site is protected by a WebGate. You can set the Access Manager SDK caches that the WebGate uses to different levels. See http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html section 14.9 for details. All of the cache-response-directives are allowed.

For your OBIEE setup using WebGate / OHS, you may need to set both cache values to public to allow PDF files to be downloaded.



Webcast Q&A: Bridging the Sign-On Gap in the Cloud


Thanks to everyone who attended our webcast on "Bridging the Cloud Sign-On Gap". We also like to thank Sebastian Rohr for participating on this webcast and presenting his market insights.  Here is an embedded compilation of the slides that were used on the webcast.

Bridging the Cloud Sign-On Gap

We have captured the Q&A from the webcast for those who missed it

Q: Is it possible to use different forms of authentication for different groups of users?

A: Absolutely .We can set up authentication at a user level and also at a per application level. If you had a HR app in the cloud that demands strong authentication then you can set that up. You could also setup a productivity tool like a spreadsheet application with a username/password authentication for that app.

Q: Does the provisioning gateway use SPML instructions to communicate with target systems?

A: To clarify what the Provisioning Gateway does, it interfaces between the provisioning solution and ESSO. It does not communicate with the target systems directly. It receives information from the Oracle Identity Management solution and supplies the credentials created by the provisioning system to the ESSO Logon Manager.

Q: Are there reference customers for Oracle ESSO in Central Europe?

A: We do have reference customers in that region. We can organize a phone call to discuss your deployment and ESSO strategy. You can find your nearest Oracle sales representative here.

Q: Is there a partner available with experience deploying ESSO for cloud technologies in Germany?

A: We have partners in the EMEA region that have the expertise enabling ESSO for cloud apps. Some of these partners have assisted with deployments in Germany as well.

Q: How is the ESSO Suite deployed on multiple end user machines?

A: The key component to install on end user machines is the ESSO Logon Manager. If you need strong authentication, you would install the Authentication Manager .  With the ESSO Anywhere component the client actually downloads on demand and allows the user to sign-on to applications based in the cloud.

Q: How does ESSO learn end user passwords for thr first time? Can this be automated?

A: With a Provisioning solution and Provisioning Gateway, you can send credentials directly to Oracle ESSO. The majority of the time silent credential capture is used. When users type in credentials then Oracle ESSO captures it from the logon field.

Q: Can you integrate with non-Oracle directory like Novell e-Directory?

A: Yes. The Oracle ESSO Suite is designed to work with a variety of LDAP directories. We support Novell e-Directory as well.




Improving Search Performance for WebCenter Content


Learn how to improve WebCenter Content search performance by attending the 1 hour Advisor Webcast: "WebCenter Content: Database Searching and Indexing" on March 15, 2012 at 16:00 UK / 17:00 CET / 8:00 am Pacific / 9:00 am Mountain / 11:00 am Eastern. For details, go to https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=1399682.1

Topics will include:
  • Optimize the database index for faster searching
  • Locate WebCenter Content problematic queries
  • Use SQL Developer to find explain plans and profile SQL statements
  • Configure WebCenter Content to tweak search settings



Analyzing Thread Dumps in Middleware


How to analyse Thread dumps, for improving Middleware Performance (at App Server or Application level) as well as for general troubleshooting?

Please see my blog at http://allthingsmdw.blogspot.com/2012/02/analyzing-thread-dumps-in-middleware.html ... The series will also go into details of WebLogic Application Server specific Thread Dump Analysis and fine tuning ...



Analyzing Thread Dumps in Middleware - Part 4


This posting is the fourth and final section in the series Analyzing Thread Dumps in Middleware

In this section, we will see a new version of TDA (Thread Dump Analysis) tool developed by the author of this blog (Sabha Parameswaran in collaboration with his colleague, Eric Gross, also from Oracle A-Team) and its capabilities ....  Please see my blog at http://allthingsmdw.blogspot.com/2012/02/analyzing-thread-dumps-in-middleware_09.html ... for more details.


Linux Documentation Writer Wanted!


The Oracle Linux and Virtualization Documentation Team is seeking an experienced Technical Writer
with a focus on writing documentation for the Oracle Linux product. (The MySQL Documentation Team is part of that group as well.)

Applicants should be located in either Ireland, the UK, Sweden, Norway, Denmark, or Finland (click on the links for a detailed job description).

We're a vastly distributed team, with writers in Australia, North America, and Europe. Our infrastructure is based on DocBook XML, and we're not just writing docs, but also maintain the whole processing and publication work chain.

Key competencies you should have include:

  • 3 or more years previous experience in writing software documentation (please provide URLs of your writings I can look at!)
  • Experience with writing documentation for system level software and operating systems
  • Strong knowledge of the Linux operating system
  • Strong knowledge of XML, DocBook XML, and XSL style sheets (and motivation to help maintain and expand our tools and infrastructure)
  • Ability to administer own workstation and test environment
  • Good experience with distributed working environments and versioning systems such as SVN

If this sounds like something for you, follow the links above and send in your application!



CVE-2011-1091 Denial of Service Vulnerability in Pidgin


CVE DescriptionCVSSv2 Base ScoreComponentProduct and Resolution
CVE-2011-1091 Denial of Service Vulnerability 4.0 Gnome Desktop
Solaris 10 SPARC: 147992-01 X86: 147993-01

This notification describes vulnerabilities fixed in third-party components that are included in Sun's product distribution.
Information about vulnerabilities affecting Oracle Sun products can be found on Oracle Critical Patch Updates and Security Alerts page.



Welcome to the SOA Proactive Support Blog


Welcome to the SOA Proactive Support blog.  This is our first post and as such it is an opportunity to introduce ourselves and our mission.

Who We Are
We are a small team of support engineers based in both Europe and the United States.  Our expertise covers SOA products from OSB to BPEL to Human Workflow but we work for all products in the SOA stack. We've been in existence for about a year now but have been less visible than we would like to be.


Our Mission

  • Improve the customer experience
  • Enable customers to avoid / prevent issues when working with our products
  • Enable faster resolution of problems when they occur


Our Activities

  • Enhancement and maintenance of our knowledgebase
  • Improving product diagnostic capabilities
  • Improvements to the product documentation
  • Coordination with Product Management and Development
  • Outreach to improve awareness of new documents, tools, etc.
  • Maintain an open channel for feedback


Our hope is that this blog will serve as a two-way communication channel. Although we obviously want new resources to be utilized we are also very interested in feedback on what we can improve. Many suggestions we can act on immediately while others may take more time but all of them will be acknowledged and followed up on.

Although there are many specific activities that could be discussed here we will leave them for their own posts. Thank you for your time and we look forward to both informing and working with you.



ArchBeat Link-o-Rama for 2012-02-09


Today's Quote

"History shows you don't know what the future brings."
-- Rick Wagoner

Email notification of FMA events


One of the projects I worked on for Solaris 11 was to record some information on System Panics in FMA events.Now I want to start making it easier to gather this information and map it to known problems. So starting internally I plan to utilise another feature which we developed as part of  the same effort. This is the email notifications framework. Rob Johnston described this feature in his blog here.

So the nice feature I want to utilise it custom message templates. So I thought I'd share how to do this It's pretty simple, but I got burnt by a couple of slight oddities - which we can probably fix.

First off I needed to create a template. There are a number of committed expansion tokens - these will work to expand information from the FMA event in to meaninful info in the email. The ones I care about this time are

%<HOSTNAME> : Hostname of the system which had the event
%<UUID> : UUID of the event - so you can mine more information
%<URL> : URL of the knowledge doc describing the problem

In addition I want to get some data that is panic specific. As yet these are uncommitted interfaces and shouldn't be relied upon, but for my reference these can be accessed

Panic String of the dump is %<fault-list[0].panicstr>
Stack trace to put in to MOS is  %<fault-list[0].panicstack>

These are visible in the panic event - so I don't feel bad about revealing the names, but I stress they shouldn't be relied upon.

So create a template which contains the text you want. Make sure it's readable by the noaccess user (ie. not /root)

The one I created for now looks like this

# cat /usr/lib/fm/notify/panic_template
%<HOSTNAME> Panicked

For more information log in to %<HOSTNAME> and run the command

fmdump -Vu %<UUID>

Please look at %<URL> for more information

Crash dump is available on %<HOSTNAME> in %<fault-list[0].dump-dir>

Panic String of the dump is %<fault-list[0].panicstr>

Stack trace to put in to MOS is  %<fault-list[0].panicstack>
 

I then need to add this to the notification for the "problem-diagnosed" event class. This is done with the svccfg command

 

# svccfg setnotify problem-diagnosed \"mailto:someone@somehost?msg_template=/usr/lib/fm/notify/panic_template\"

(Note the backslashes and quotes - they're important to get the parser to recognise the "=" correctly.)

It would be nice to tie it specifically to a panic event, but that needs a bit of plumbing to make it happen.

You can  verify it is configured correctly with the command

 

# svccfg listnotify problem-diagnosed
    Event: problem-diagnosed (source: svc:/system/fm/notify-params:default)
        Notification Type: smtp
            Active: true
            reply-to: root@localhost
            msg_template: /usr/lib/fm/notify/panic_template
            to: someone@somehost

Now when I get a panic, I get an email with some useful information I can use to start diagnosing the problem.

So what next? I think I'll try to firm up the stability of the useful members of the event, and may be create a new event we can subscribe to for panics only, then make this template an "extended support" option for panic events, and make it easily configurable.

Please do leave comments if you have any opinions on this and where to take it next.



 







Interaction 12 in Dublin - Highlights of Day 1


Exactly a week ago, Interaction 12 was kicked off by the mayor of Dublin. I mean the real mayor rather than the one in 4square. He talked about (sub)urban planning and the public bicycle system in Dublin. He was proud to say that a minor change in the interaction design prevented the theft of many bikes. Other than Paris (they lost hundreds), the pole to get a bike is not prominently highlighted in a way that everybody can take the bike as soon as it unlocks. Just two bikes were stolen and both were returned. Clever briefing, or clever mayor – you decide.

Disrupt

After a while I decided to like the opening keynote by Luke Williams. He tackled the general problem of large companies (hey, this should apply to Oracle as well) that they are obviously unable to create new disruptive markets. If they have a business, a successful business, they focus to exploit it as long as possible. But they neglect to go for niche markets, because the dollars are earned in the main stream. Blockbuster Video ignored Netflix. Kodak ignored digital photography. Nokia ignored Apple and Google in the mobile phone market...

Luke offered the idea to do exactly the opposite of the (current) cliché. Why –the heck– are socks sold in pairs? – My mind kicked in and said, "yeah, if I have a hole if a friend has a hole in his sock he can buy just one sock to complete the pair. Makes sense!" But Luke continued to explain that a company built a business on selling socks in sets of three. And none of them has the same pattern! Kids and girls in specific love the brand.

/a few more images

Videos shown by Luke_

National Leprechaun Museum

The disruptive highlight of the day was Tom O’Rehilly’s talk on Imagination and Identity. Tom started his career with selling luxury furniture, until he recognized that he was in fact selling experiences. Welcome Tom, to the field of user experience and interaction design. I do not remember why he told the story of Brasil, an island on the shores of Ireland that only appeared every 7 years. But I do remember his stories about the Leprechaun, a little Irish wizard or dwarf that is very hard to track. Tom runs the National Leprechaun Museum in Dublin, which is called a museum for the lack of a better word. It is an experience that turns the visitors into little Leprechauns themselves. You enter through a wooden tunnel that changes its diameter while you walk though. It must be a spectacular effect like Alice through the rabbit's hole.

/photo cc by The National Leprechaun Museum

What If...

The second keynote of the day should be mentioned: What If... crafting design speculations by Anthony Dunne. 

 /more photos

In addition to the summary at core77, I will try to add more video links to the projects_

Related_



Develop Your Experience Platform through Connected Interations


In this video, Jeff Grossman from Oracle Retail talks about Connected Interactions as a part of Your Experience Platform. He demonstrates the cross-channel experience that Oracle Retail applications provide, making it easy for retailers to provide a world class shopping experience on any platform, and also transition transactions between platforms, allowing customers to shop online and buy instore, or vice versa.

This video was filmed at the Oracle stand at NRF Retail's Big Show 2012. To find out more about Oracle Retail's products, visit http://www.oracle.com/retail



Javavorlesung mit online-Technologien



Unser Kollege, Dr. Stefan Schneider (Chief Technologist ISV-Engineering, Oracle Deutschland), hält Java-Vorlesungen an der Dualen Hochschule Baden-Württemberg und informiert in diesem Beitrag über sein Vorlesungskonzept, das er mit online-Technologien gestaltet hat.

An der DHBW verfügen die Studierenden der Wirtschaftsinformatik ab dem ersten Semester über persönliche Laptops, mit denen sie über das Universitäts-WLAN auf das Internet zugreifen können. In diesem Arbeitsumfeld kann man eine interaktive Java-Programmiervorlesung mit Übungen im normalen Klassenraum halten.

Dieser Ansatz bietet für alle Beteiligten neue Interaktionsmöglichkeiten und vereinfacht den Wissenserwerb im Vergleich zum "Powerpoint" Folienansatz:

Der Referent benutzt ein öffentlich verfügbares Skript zur Vorlesung, welches die Studenten auf dem Laptop verfolgen können.
  • Das Skript ist immer für die Studierenden verfügbar. Es kann jederzeit vom Referenten verbessert werden. Ausdrucken und Verteilen von Unterrichtsmaterialen ist nicht mehr notwendig.
  • Das Skript kann mit Hyperlinks direkt auf die Javadokumentation und vertiefende Themen verweisen.
  • Javabeispiele und Übungen können von den Studierenden direkt in ihre Entwicklungsumgebungen kopiert und bearbeitet werden.
  • Programmierübungen, wie zum Beispiel das Spiel des Lebens, liegen schon als lauffähiges Applet vor. Der Student kann also sehen, wie die korrekte Lösung einer Programmieraufgabe aussehen soll.
  • Komplizierte Sachverhalte, wie die Kodierung von Zahlentypen, kann mit Hilfe von Applets vertieft werden. Der Student kann so Experimente durchführen und dabei selbst aktiv sein.
  • Studierende können jederzeit einzelne Seiten des Skriptes kommentieren. Hiermit kann man schwer verständliche Konzepte auch ausserhalb der Vorlesung mit den Studierenden diskutieren und das Skript direkt verbessern.
  • Klausurvorbereitung: Studierende müssen nicht mehr unter der Hand alte Klausuren kopieren. Klausurrelevante Fragen werden im Blog "javafrage" als RSS Feed zum Abonnement zur Verfügung gestellt. Twitterfans können den RSS-Feed auch über Twitter abonnieren (Twitter:javafrage)
  • Nach der Hälfte der Vorlesung können Studierende anonym einen Multiple-Choice-Test zum eigenen Feedback durchführen. Der Referent erhält die Ergebnisse in Form einer Tabellenkalkulation.
Weitere Infos:
Papier? Das war mal im letzten Jahrhundert…Man kann natürlich auch das gesamte Skript in Buchform ausdrucken. Jedes Kapitel erlaubt den Ausdruck aller Unterseiten.

Die Website wird mit dem kostenlosen MySQL und Drupal 6 betrieben. Alle Seiten genügen den W3C Standards, sind barrierefrei zugänglich, durchsuchbar und können kommentiert werden. Im Javaumfeld kann man Studierenden alle Werkzeuge wie z.Bsp. Netbeans oder Eclipse kostenlos anbieten. 

Bilder des Java-Maskottchen "Duke" (siehe oben) kann zum Aufpeppen der Website verwendet werden. (Die Bilder stehen unter der sehr liberalen Berkeley Lizenz zur Verfügung.)



Preventing Deletes from Replicating In Archiver


I'm working on a project in which there is a particular use-case to prevent the deletion of content from migrating to a target instance of WebCenter Content.  Normally, when automatic replication is configured between instances of WebCenter Content, every action is replicated between environments; check in, update, & delete.  But in this particular case they wanted check ins and updates to be migrated, but not deletes.

 Archiver does not have any built-in options or toggles to control what actions get replicated, but it turns out you can control this as part of the export query configuration.  To set this, go to the Export Query and select the field of Revision Status.  This specifies all of the states a document goes through in its lifecycle.  Set the Operator to 'Is Not' and select 'Deleted' from the Value list.  Add this to the rest of the query and now deletes won't be propagated.

Archiver Settings



OpenGrok 0.11 setup on Solaris 11


OpenGrok 0.11 has been just released (see Lubos' post with release notes). This is nice version number coincidence to try it on Solaris 11. In case you are wondering what is OpenGrok, it is blindigly fast source code search and cross reference engine accessible over web. It is written in Java. It is also behind the source code browser on src.opensolaris.org, albeit running older version. For more information about the project take a look at its project page.

Now, how to get OpenGrok running for your source code base on Solaris 11. I will illustrate this on source code coming from three different Source Code Management systems (for complete support see the full list). The complete setup on freshly installed Solaris 11 has 6 main steps:

  1. Install pre-requisities first:
    1. install couple of Source Code Management systems (depends on your needs):
      • install Mercurial:
            pkg install developer/versioning/mercurial
        
      • install CVS
            pkg install developer/versioning/cvs
        
      • git
            pkg install developer/versioning/git
        
    2. download, compile and install exuberant ctags:
      pkg install developer/gcc-45
      pkg install system/header
      wget http://prdownloads.sourceforge.net/ctags/ctags-5.8.tar.gz
      tar xfz ctags-5.8.tar.gz
      ./configure && make && make install
      
    3. install Tomcat6:
        pkg install web/java-servlet/tomcat
      
  2. Now download and install OpenGrok package:
    location=http://hub.opensolaris.org/bin/download/Project+opengrok/files/
    pkgadd -d $location/OSOLopengrok-0.11.pkg OSOLopengrok
    
  3. Mirror some source code as webservd user (note that OpenGrok by itself does not synchronize or mirror source code, this has to be done separately):
    cd /var/opengrok/src/
    cvs -d anonymous@cvs.openssl.org:/openssl-cvs co -rOpenSSL_1_0_0-stable openssl
    hg clone ssh://anon@hg.opensolaris.org/hg/opengrok/trunk opengrok-dev
    git clone http://git.samba.org/samba.git
    
      Run the following first (as root) to make sure history indexing does not prompt to confirm the identify when consulting with remote repositories (CVS):
      
      # store the pubkeys
      ssh-keyscan -t rsa,dsa anonymous@cvs.openssl.org >> /etc/ssh/known_hosts
      ssh-keyscan -t rsa,dsa anon@hg.opensolaris.org >> /etc/ssh/known_hosts
      
  4. Deploy and start the web application (as root):
    EXUBERANT_CTAGS=/usr/local/bin/ctags \
        /usr/opengrok/bin/OpenGrok deploy && \
        svcadm enable tomcat6
    
  5. Index the source code and send the configuration to the running instance (as webservd user):
    EXUBERANT_CTAGS=/usr/local/bin/ctags \
       /usr/opengrok/bin/OpenGrok index
    
  6. enable the service (as root):
    svcadm enable opengrok
    

OpenGrok is now accessible at http://SERVER_HOSTNAME:8080/source/ (where SERVER_HOSTNAME is the hostname of the server on which the above setup was done).

Except for the part with ctags it is pretty streamlined and no brainer process. Hopefully the exuberant-ctags package will be available again from the standard Oracle pkg repositories.

And here is the result:



Yet another Java EE 7 spec - WebSocket is JSR 356!


JSR 356 has been filed by Oracle : "Java API for WebSocket". The spec lead is Danny Coward and this JSR is scheduled for inclusion in Java EE 7

While it's great to have both server and client support for WebSocket in Grizzly and GlassFish, it's probably even better to have a standard to encourage portable code. The Review Ballot is scheduled to start on 21 Feb, 2012.

ALT_DESCR

With this JSR, I believe the list for Java EE 7 is now complete. You can get the full list in the latest issue of the Java Magazine and catch recent posts using the javaee7 tag.



Pillar Axiom 600 搬入風景


Pillar Axiom 600 の搬入に立ち会うことができたので、搬入の様子を紹介します。

ラックの木箱です。左上に Pillar と刻印されています。


木箱にスロープを取り付けて、取り出すところです。


段ボールの中に Brick (ハードディスクや SSD を搭載するトレイ)が入っています。


ラックを設置。 Pilot(管理用のサービスプロセッサ的な筐体) と Slammer (ホストと接続する側のコントローラユニット) が搭載されています。


Pilot が下にラッキングされています。


今後、 Private Cloud 対応ストレージの Pillar Axiom についても取り上げていきますので、ご期待ください。



コアの解析に詳しくない人がコアファイルを見付けたらどうしたら良いか


はじめに

今回は、コアファイルの調査を誰かに依頼する場合に、伝えておくべきことをご紹介します。

サーバ管理やプログラムのテストの最中に、コアファイルに遭遇することがあります。コアファイルがあるということは、何らかの問題が起きている可能性を示唆しています。そこでコア解析の知識があれば、直ぐに調査に移る事ができますが、そうでなければ、誰か技術に詳しく、情報を渡しても問題の無い人を探して相談するのが現実的です。もし、信頼して相談できる人を見付けられたとしたら、どんな情報を伝えれば良いでしょうか。何を伝えたらいいか思い付かなかったら、以下を試してみて下さい。

(なお、今回の記事ではプログラムが生成したコアを想定しています。)

やるべきこと

まず、コアファイルがあるディレクトリに cd で移動します。

$ cd /where-core-exists/

ディレクトリを移動したら、情報を収集して行きます。以下のコマンドを全て実行して下さい。

なお、ここではコアファイルの名前を core としていますが、実際には core.789 の様な数字付きの名前かもしれません。その場合は、core と書かれている部分を実際の名前に置き換えて実行して下さい。

$ script core.log
$ date
$ uname -a
$ ls -l ./core
$ file ./core
$ pstack ./core
$ pflags -r ./core
$ pargs -ae ./core
$ pmap ./core
$ pldd ./core
$ exit
$ zip core.log.zip core.log

コマンドの実行が終了したら、core.log.zip というファイルが出来ている筈です。これを渡せば、取り敢えずの調査に必要なデータは揃ったことになります。

あとは、コアダンプした時のエラーメッセージ、コアファイルが発生する頻度、システムの構成情報、アプリケーションの情報、直前に設定等を変更したのであれば、その内容、アプリケーションのログなどを分かる範囲で伝えられれば尚良いと思います。

実行例

root@awa03:~# cd test/
root@awa03:~/test# script core.log
Script started, file is core.log
root@awa03:~/test# date
Thu Feb  9 02:39:23 JST 2012
root@awa03:~/test# uname -a
SunOS awa03 5.11 11.0 i86pc i386 i86pc
root@awa03:~/test# ls -l ./core
-rw-------   1 root     root     2097463 Feb  9 02:39 ./core
root@awa03:~/test# file ./core
./core:         ELF 32-bit LSB core file 80386 Version 1, from 'prog_fpe'
root@awa03:~/test# pstack ./core
core './core' of 9993:  ./prog_fpe
 08050c90 my_func  (8047d8c, 8050af3, 1, 8047d98, 8047da0, feffb93c) + 17
 08050ca0 main     (1, 8047d98, 8047da0, feffb93c, 8047d8c, 8050a92) + 8
 08050af3 _start   (1, 8047e68, 0, 8047e73, 8047e80, 8047e8b) + 83
root@awa03:~/test# pflags -r ./core
core './core' of 9993:  ./prog_fpe
        data model = _ILP32  flags = MSACCT|MSFORK
 /1:    flags = 0
        sigmask = 0xffffbefc,0xffffffff,0x000000ff
        cursig = SIGFPE
   %gs = 0x000001C3   %fs = 0x00000000   %es = 0x0000004B   %ds = 0x0000004B
  %edi = 0x08047E00  %esi = 0x08047D54  %ebp = 0x08047D60  %esp = 0x00000000
  %ebx = 0xFEFFB93C  %edx = 0x00000000  %ecx = 0x00000000  %eax = 0x00000064
  %trapno = 0x00000000  %err = 0x00000000  %eip = 0x08050C90   %cs = 0x00000043
  %efl = 0x00010256  %uesp = 0x08047D4C   %ss = 0x0000004B

root@awa03:~/test# pargs -ae ./core
pargs: Couldn't determine locale of target process.
pargs: Some strings may not be displayed properly.
core './core' of 9993:  ./prog_fpe
argv[0]: ./prog_fpe

envp[0]: LC_MONETARY=
envp[1]: TERM=vt100
envp[2]: SHELL=/usr/bin/bash
envp[3]: SSH_CLIENT=10.188.194.252 49626 22
envp[4]: LC_NUMERIC=
envp[5]: SSH_TTY=/dev/pts/1
envp[6]: LC_ALL=
envp[7]: USER=root
envp[8]: MAIL=/var/mail/root
envp[9]: PATH=/usr/local/bin:/usr/sbin:/usr/bin
envp[10]: LC_MESSAGES=
envp[11]: LC_COLLATE=
envp[12]: PWD=/root/test
envp[13]: LANG=C
envp[14]: TZ=localtime
envp[15]: SHLVL=1
envp[16]: HOME=/root
envp[17]: LOGNAME=root
envp[18]: SSH_CONNECTION=10.188.194.252 49626 10.188.162.233 22
envp[19]: LC_CTYPE=
envp[20]: LC_TIME=
envp[21]: _=./prog_fpe
envp[22]: OLDPWD=/root
root@awa03:~/test# pmap ./core
core './core' of 9993:  ./prog_fpe
08046000       8K rwx--    [ stack ]
08050000       4K r-x--  /root/test/prog_fpe
08060000       4K rwx--    [ heap ]
FEDE0000      24K rwx--    [ anon ]
FEDF0000       4K rw---    [ anon ]
FEE00000    1352K r-x--  /usr/lib/libc/libc_hwcap1.so.1
FEF62000      44K rwx--  /usr/lib/libc/libc_hwcap1.so.1
FEF6D000       4K rwx--  /usr/lib/libc/libc_hwcap1.so.1
FEF70000       4K rw---    [ anon ]
FEF80000       4K rw---    [ anon ]
FEF90000       4K rw---    [ anon ]
FEFA0000       4K rw---    [ anon ]
FEFAD000       4K r----    [ anon ]
FEFB7000     208K r-x--  /lib/ld.so.1
FEFFB000       8K rwx--  /lib/ld.so.1
FEFFD000       4K rwx--  /lib/ld.so.1
 total      1684K
root@awa03:~/test# pldd ./core
core './core' of 9993:  ./prog_fpe
/usr/lib/libc/libc_hwcap1.so.1
root@awa03:~/test# exit
exit
Script done, file is core.log
root@awa03:~/test# zip core.log.zip core.log
  adding: core.log (deflated 62%)

これで core.log.zip というファイルが作成されます。

この例の場合、core.log.zip を送られてきた人は、これは prog_fpe という名前のプログラムが生成したコアで、最後に my_func() という関数が呼び出されており、SIGFPE が発生しているので、prog_fpe の my_func() の中の算術演算が怪しそうだということが分かります。

さいごに

以上、コアファイルを見付けたら、まずどんな情報を集めれば良いかをご紹介しました。

上記の情報を渡しても原因が分からないこともあります。その場合は必要に応じて情報を追加して下さい。

コアファイルは事故の残骸ではなく、解決の糸口とする為に残された記録装置の様な物です。重要な情報が詰まっている事がありますので、是非有効に活用して下さい。



Exalogic and Multicast


Exalogic is the new Engineered System from Oracle, delivering Hardware and Software in one solution. The software is primarily WebLogic on Linux. Customers will invariably cluster the WebLogic Server instances using multicast or unicast. There is one gotcha when it comes to using multicast on Exalogic. 

Please check my blog at http://allthingsmdw.blogspot.com/2012/02/exalogic-and-multicast.html for more details.



Analyzing Thread Dumps in Middleware - Part 3


This posting is the third section in the series Analyzing Thread Dumps in Middleware

This section details with tools for analyzing thread dumps along with limitations of such tools. Please see my blog at http://allthingsmdw.blogspot.com/2012/02/analyzing-thread-dumps-in-middleware_9856.html ... for more details.

Analyzing Thread Dumps in Middleware - Part 2


This posting is the second section in the series Analyzing Thread Dumps in Middleware

This section details with when, how to capture and analyze thread dumps with special focus on WebLogic Application Server related thread dumps...

Please see my blog at http://allthingsmdw.blogspot.com/2012/02/analyzing-thread-dumps-in-middleware_08.html for more details.



Analyzing Thread Dumps in Middleware - Part 1


How to analyse Thread dumps, for improving Middleware Performance (at App Server or Application level) as well as for general troubleshooting?

Please see my blog at http://allthingsmdw.blogspot.com/2012/02/analyzing-thread-dumps-in-middleware.html ... The series will also go into details of WebLogic Application Server specific Thread Dump Analysis and fine tuning ...




Oracle PartnerNetwork Trainingscalendar


Please visit our Enablement Trainingscalender for Middle East & Africa here.

SQL Developer 3.1 and Obfuscation


SQL Developer 3.1 , SQL Developer Datamodeler 3.1, and the OTN DB VM were all released yesterday.  Now it's time to blog about some of the new features included in these releases.  Be sure to check out the various blogs the team has.  There's a listing on OTN here. First up from me is PL/SQL Obfuscation.  The idea is to simply make the code unreadable.  This is done in various language mostly


Iron Sky: The Trailer is Here!


Iron Sky Poster

In Summer 2010 I learned about a cool new geeky movie called Iron Sky that was crowd-funded. I decided to help finance it with a small sum.

Then the second Iron Sky teaser came out and I thought: Wow, this is looking really good! And I invested some more.

In December 2010, I was invited to attend the Iron Sky shootings in Frankfurt together with my brother. This is where we got to meet the crew, the actors, the people behind the movie and other investors. And I thought: Wow, this is not only cool, this is for real! Everybody was 100% determined to make this the coolest movie ever, and everybody put in so much attention to detail, love and true craftmanship that I thought: "Yep, this is going to be a true movie milestone!" And I also got to shoot an interview with the director and the inventor of Iron Sky. This time, my brother and I together invested a bit more to help this baby fly.

Fast forward to December 2011 (regrettable, a second trip to Iron Sky shootings in Australia didn't come together as I was already booked out from my regular job). This time, I got to see a beta version in Helsinki, and I brought home a Behind the Scenes Video Interview with the producer and the social media mastermind of Iron Sky.

Now, Iron Sky has been accepted for the 2012 Berlinale Festival starting next weekend. What a milestone!

Today, the official Iron Sky Trailer has been released:

In March, I'll be visiting the Iron Sky team again, for the Finnish Premiere in Tampere, Finland.

And the official world-wide release is going to be April 4th, 2012.

If you like Mars Attacks!, Inglourious Basterds and/or American Dreamz, then this is the movie for you! If you don't know/like these three movies, go see them, then think again.

Expect:

  • Glorious space battles with lovingly detailed animation.
  • Fun dialogues that will make you laugh from the very beginning.
  • Classy evil villains that are too cool to be good.
  • Very smart heroines that will seize the situation and rip their male counterparts' breaths.
  • Endless fun with ongoing American Presidency Election Campaigns.
  • To finally find out what "a true computer" looks like!
  • A new meaning to the Dawn of the gods ("Götterdämmerung").
  • ...and much more.

If you're in Berlin next week for the Berlinale: Have fun!

If you're going to the Finnish Premiere in Tampere: Let me know!

If you're in Munich near April 4th, let me know, too!

Meanwhile, watch the trailer above and leave your comments.



Oracle Announces Availability of Oracle Advanced Analytics for Big Data


Oracle Announces Availability of Oracle Advanced Analytics for Big Data

Oracle Integrates R Statistical Programming Language into Oracle Database 11g

REDWOOD SHORES, Calif. - February 8, 2012

News Facts

Oracle today announced the availability of  Oracle Advanced Analytics, a new option for Oracle Database 11g that bundles Oracle R Enterprise together with Oracle Data Mining.
Oracle R Enterprise delivers enterprise class performance for users of the R statistical programming language, increasing the scale of data that can be analyzed by orders of magnitude using Oracle Database 11g.
R has attracted over two million users since its introduction in 1995, and Oracle R Enterprise dramatically advances capability for R users. Their existing R development skills, tools, and scripts can now also run transparently, and scale against data stored in Oracle Database 11g.
Customer testing of Oracle R Enterprise for Big Data analytics on Oracle Exadata has shown up to 100x increase in performance in comparison to their current environment.
Oracle Data Mining, now part of Oracle Advanced Analytics, helps enable customers to easily build and deploy predictive analytic applications that help deliver new insights into business performance.
Oracle Advanced Analytics, in conjunction with Oracle Big Data Appliance, Oracle Exadata Database Machine and Oracle Exalytics In-Memory Machine, delivers the industry’s most integrated and comprehensive platform for Big Data analytics.

Comprehensive In-Database Platform for Advanced Analytics

Oracle Advanced Analytics brings analytic algorithms to data stored in Oracle Database 11g and Oracle Exadata as opposed to the traditional approach of extracting data to laptops or specialized servers.
With Oracle Advanced Analytics, customers have a comprehensive platform for real-time analytic applications that deliver insight into key business subjects such as churn prediction, product recommendations, and fraud alerting.
By providing direct and controlled access to data stored in Oracle Database 11g, customers can accelerate data analyst productivity while maintaining data security throughout the enterprise.
Powered by decades of Oracle Database innovation, Oracle R Enterprise helps enable analysts to run a variety of sophisticated numerical techniques on billion row data sets in a matter of seconds making iterative, speed of thought, and high-quality numerical analysis on Big Data practical.
Oracle R Enterprise drastically reduces the time to deploy models by eliminating the need to translate the models to other languages before they can be deployed in production.
Oracle R Enterprise integrates the extensive set of Oracle Database data mining algorithms, analytics, and access to Oracle OLAP cubes into the R language for transparent use by R users.
Oracle Data Mining provides an extensive set of in-database data mining algorithms that solve a wide range of business problems. These predictive models can be deployed in Oracle Database 11g and use Oracle Exadata Smart Scan to rapidly score huge volumes of data.
The tight integration between R, Oracle Database 11g, and Hadoop enables R users to write one R script that can run in three different environments: a laptop running open source R, Hadoop running with Oracle Big Data Connectors, and Oracle Database 11g.
Oracle provides single vendor support for the entire Big Data platform spanning the hardware stack, operating system, open source R, Oracle R Enterprise and Oracle Database 11g.
To enable easy enterprise-wide Big Data analysis, results from Oracle Advanced Analytics can be viewed from Oracle Business Intelligence Foundation Suite and Oracle Exalytics In-Memory Machine.

Supporting Quotes

“Oracle is committed to meeting the challenges of Big Data analytics. By building upon the analytical depth of Oracle SQL, Oracle Data Mining and the R environment, Oracle is delivering a scalable and secure Big Data platform to help our customers solve the toughest analytics problems,” said Andrew Mendelsohn, senior vice president, Oracle Server Technologies.
“We work with leading edge customers who rely on us to deliver better BI from their Oracle Databases. The new Oracle R Enterprise functionality allows us to perform deep analytics on Big Data stored in Oracle Databases. By leveraging R and its library of open source contributed CRAN packages combined with the power and scalability of Oracle Database 11g, we can now do that,” said Mark Rittman, co-founder, Rittman Mead.

Supporting Resources

Connect with Oracle Database via Blog, Facebook and Twitter

About Oracle

Oracle engineers hardware and software to work together in the cloud and in your data center. For more information about Oracle (NASDAQ: ORCL), visit http://www.oracle.com.

Trademarks

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Contact Info

Eloy Ontiveros
Oracle
+1.650.607.6458
eloy.ontiveros@oracle.com

Joan Levy
Blanc & Otus for Oracle
+1.415.856.5110
jlevy@blancandotus.com



Consumer Goods Companies Hone A Cross-Channel Approach To Consumer Marketing


Consumer goods (CG) manufacturers are aggressively exploring ways to integrate new channels such as social media and mobile into the marketing mix to attract and engage consumers. However, they are not ready to abandon traditional approaches to consumer marketing. CG marketers say they want to increase engagement with consumers and improve their direct-to-consumer initiatives—but are they really ready to do so?

Perhaps CG companies looking to get closer to consumers ought to think more like retailers, which have made significant investments in understanding consumer behaviour and sentiment across physical and digital environments. New directions: consumer goods companies hone a cross-channel approach to consumer marketing, an Economist Intelligence Unit report sponsored by Oracle, draws on a survey of 221 CG executives as well as in-depth interviews with corporate leaders in the CG industry to explore the changing face of consumer marketing.



Consumer Goods Companies Hone A Cross-Channel Approach To Consumer Marketing


Consumer goods (CG) manufacturers are aggressively exploring ways to integrate new channels such as social media and mobile into the marketing mix to attract and engage consumers. However, they are not ready to abandon traditional approaches to consumer marketing. CG marketers say they want to increase engagement with consumers and improve their direct-to-consumer initiatives—but are they really ready to do so?

Perhaps CG companies looking to get closer to consumers ought to think more like retailers, which have made significant investments in understanding consumer behaviour and sentiment across physical and digital environments. New directions: consumer goods companies hone a cross-channel approach to consumer marketing, an Economist Intelligence Unit report sponsored by Oracle, draws on a survey of 221 CG executives as well as in-depth interviews with corporate leaders in the CG industry to explore the changing face of consumer marketing.



ArchBeat Link-o-Rama for 2012-02-08


Today's Quote

"Play is the exultation of the possible."
-- Martin Buber (February 8, 1878 – June 13, 1965)


Brian Madden site has a look at Oracle desktop virtualization


Oracle's John Renko spent a day with Gabe Knuth of brianmadden.com to do a profile of Oracle desktop virtualization. If you've ever wanted to get a better understanding of the architecture or the design philosophy of our products, this article has lots of in-depth information for you.

The article also has two very good videos. In the first, John does a whiteboard walkthrough of Oracle Virtual Desktop Infrastructure. And in the second, Gabe does some hands on testing of a Windows virtual desktop, including demonstrating video performance and showing in detail some of the optimizations that Oracle Virtual Desktop Infrastructure does behind the scenes to improve the user experience.

Have a read through the article now.

-Chris

For more information, please go to the Oracle Virtualization web page, or  follow us at : 

Twitter   Facebook YouTube Newsletter




Change WebLogic Server Mode from Development to Production and JDK Mode from Client to Server


What does it take to change WebLogic 10.3.x server mode from development to production? It may be a bit trickier than what you found via Googling...

Please see my blog at http://thesoaman.blogspot.com/2011/12/change-weblogic-server-mode-from.html  to see what could be missing ...



Tune Audit Trail in SOA 11G to Avoid Memory and Transaction Problems


Until 11.1.1.3, BPEL audit trails are saved to database in the same JTA transaction as the main transaction. This causes three main problems. What are the problems, what SOA 11.1.1.3 does differently to solve these problems? Please read my blog at http://thesoaman.blogspot.com/2012/02/tune-audit-trail-in-soa-11g-to-avoid.html for more details.

ODI 11g – More accelerator options


A few more options added into the interface accelerator that I blogged about earlier here in initial post and a later one here. Added options for doing position based and case sensitive/insensitive options. These were simple changes added into the auto map class. You can now find the latest updates below;

So just like the initial post you will compile and execute the code, but use the different classname OdiInterfaceAccelerator;

java –classpath <cp> OdinterfaceAccelerator jdbc:oracle:thin:@localhost:1521:ora112 oracle.jdbc.OracleDriver ODI_MASTER mypwd WORKREP1 SUPERVISOR myodipwd STARTERS SDK <icontrol.csv

In the automapper I created a couple of options that can drive the accelerator, it supports;

  • positional based match (match columns by position from source to target)
  • exact match case sensitive  (match EMPNO with EMPNO, but not empno with EMPNO)
  • exact match case insensitive (match EMPNO with empno)
  • src/target ends with sensitive/insensitive (match PFX_empno with empno/EMPNO)
  • src/target starts with sensitive/insensitive (match empno_col with empno/EMPNO)

Note, you can also use the “diagrams” in the models to greatly accelerate development if source and targets have the same structure – if not then you have to go through the SDK route above if you want to accelerate.



How to call af:query search button programmatically


 First of all, I have to describe my use case:

I have a simple af:query which I created dragging and drop the All Queryable Properties inside my findAll iterator in DataControl palette. After that, I put a very simple remove button. When I click in the remove button, it calls a method in session bean, which removes the entity in the database.

The thing is, after removes in database, my ADF Table needs to be refreshed, because if don't the entity keeps in the table. I think there are several ways to accomplish this. I would prefer to execute again the search and clean dirty entities.

It was not so simple (If you know any solution more simple than that, please tell me), and I need to do some research for it.

Follow these steps:

1. Make your ManagedBean as a PageFlowScope

2. In the af:query component change the property queryListener, bindings this to your MB. In my case, I created the processQuery method like this:

public void processQuery(QueryEvent queryEvent) {}

3. Create a global variable in MB, QueryEvent and getters and setters.

private QueryEvent qEvent = null;

4. Implement the processQuery like this:

    public void processQuery(QueryEvent queryEvent) {

        setQEvent(queryEvent); // save teh query event for the method that really fires the query to use.

        invokeMethodExpression("#{bindings.ImplicitViewCriteriaQuery.processQuery}",

                               Object.class, QueryEvent.class, getQEvent());

    }

5. Inside the invokeMethodExpression paste your property queryListener used to be before you removed.

6. Copy the invokeMethodExpression  implementation:

    private Object invokeMethodExpression(String expr, Class returnType,

                                          Class argType, Object argument) {

        return invokeMethodExpression(expr, returnType,

                                      new Class[] { argType },

                                      new Object[] { argument });

    }


    private Object invokeMethodExpression(String expr, Class returnType,

                                          Class[] argTypes, Object[] args) {

        FacesContext fc = FacesContext.getCurrentInstance();

        ELContext elctx = fc.getELContext();

        ExpressionFactory elFactory =

            fc.getApplication().getExpressionFactory();

        MethodExpression methodExpr =

            elFactory.createMethodExpression(elctx, expr, returnType,

                                             argTypes);

        return methodExpr.invoke(elctx, args);

    }

7. After this steps, you could run and realize that everything keeps normal in the search query.

8. In your method remove or any method you wants, put again the code:

 public void mymethod(){

//my business logic here

        //reexecute query method of search

        invokeMethodExpression("#{bindings.ImplicitViewCriteriaQuery.processQuery}",

                               Object.class, QueryEvent.class, getQEvent());

}

 That's it!

Reference:

ADF Query Component with loading screen -  http://myadfnotebook.blogspot.com/2011/01/adf-query-component-with-loading-screen.html



Announcing Oracle Advanced Analytics


The Oracle Advanced Analytics Option extends the database into a comprehensive advanced analytics platform for big data business analytics. Oracle Advanced Analytics, a combination of Oracle Data Mining and Oracle R Enterprise, delivers predictive analytics, data mining, text mining, statistical analysis, advanced numerical computations and interactive graphics inside the database. It brings powerful computations to the database resulting in dramatic improvements in information discovery, scalability, security, and savings. Oracle Advanced Analytics eliminates data movement to external analytical servers, accelerates information cycle times and reduces total cost of ownership. 

Resources:

  • Press release (here)
  • Advanced Analytics Option on OTN (here)
  • Oracle R Enterprise on OTN (here)
The release of these deep analysis tools and languages complements the earlier release of Oracle Big Data Appliance and Oracle Big Data Connectors enabling the management and analysis of all data.


Remove Parent and their children in JPA 1.0 / EclipseLink


In my model project, I'm using EJB3 with JPA 1.0 and I would like to remove my entity. I asked to the jdeveloper create my entities and session facade bean by wizard. The result was this remove method in my ejb session bean:

    public void removePapel(Papel papel) {

        papel = em.find(Papel.class, papel.getCodPapelSeg());      

        em.remove(papel);

    }

This is the standard jpa way to remove a entity. However, my entity has multiple different children. It looks like this:

    @OneToMany(mappedBy = "papel")

    private List<UsuarioPapel> usuarioPapelList;

    @OneToMany(mappedBy = "papel")

    private List<PapelPerfil> papelPerfilList;

    @OneToMany(mappedBy = "papel")

    private List<GrupoPapel> grupoPapelList;

Of course, when I try to remove using my session bean standard method, I will have a constraint errors, because my parent entity could have some children.

I would handle this programmatically in remove method, running into each child entity and remove one by one, but I just want to keep my standard method exactly the same.

The solution is not standard, but my provider eclipselink has a feature which accomplishes this task very well. You have to include the annotation @PrivateOwned in each child:

    @PrivateOwned

    @OneToMany(mappedBy = "papel")

    private List<UsuarioPapel> usuarioPapelList;

    @PrivateOwned

    @OneToMany(mappedBy = "papel")

    private List<PapelPerfil> papelPerfilList;

    @PrivateOwned

    @OneToMany(mappedBy = "papel")

    private List<GrupoPapel> grupoPapelList;

After that everything works. In JPA 2, there's a standard way to accomplish the same using the property orphanRemoval. Take this in your mind.

References:

JPA 2 OrphanRemoval

EclipseLink @PrivateOwned



OBIEE 11.1.1 - Upgrade from 10g - Calculated Items


In 10g, calculated items were created in one pivot table only. In 11g, all calculated items are shown in all views.

          The format of the report is modified: calculated items that were in one pivot table only before the upgrade now appear in all views.

          If a calculated item had the option ‘Hide details’ selected, showing this column in other views changes completely the results.

To replicate 10g behavior in 11g, you must:

          Add a new column identical to the one used to compute the calculated item.

          In all views except in the one that includes the calculated item, replace the old column by the new one.

Note that it is easier to perform this modification in 10g before the upgrade. It is possible to do it in 11g after the upgrade but then you have to compare 11g and 10g reports to find out which view the calculated item belonged to.



INDEX




♚ ♛ ♜ ♝ ♞ ♟ INDEX 







































Supply Chain Management on NetBeans


CDC Software (Nasdaq: CDCS) is "a hybrid enterprise software provider of on-premise and cloud deployments. Leveraging a service-oriented architecture (SOA), CDC Software offers multiple delivery options for their solutions including on-premise, hosted, cloud-based SaaS or blended-hybrid deployment offerings."

Part of what CDC is involved in is enterprise resource planning solutions. Their Event Management Framework helps create efficient supply chains. It "alerts you when there is an 'event' that requires action and helps you put automatic escalation procedures in place.  In addition to the alerts already built into the software, you can build your own custom alerts that support the unique aspects of your companycreating automatic responses to certain events."

Here's what it looks like and, of course, it is based on the NetBeans Platform. With the naked eye, you can see just about every NetBeans component and NetBeans API has been leveraged in one way or another to create a really clean & attractive management tool:

Click the screenshot above to enlarge it. Then notice the "Services" node, on the left side of the screenshot, which lists many web-based services (FTP, web services, etc). So, essentially, this is a browser application in the sense that it gives access to on-line services—though the browser is a proprietary browser, with a lot of additional features (for management and monitoring and design) that browsers don't natively provide.

And here's a highly recommended customer testimonial video to watch. I enjoyed it, since it gives a clear perspective about the benefits of the Event Management Framework in co-ordinating supply chains. If you're interested in gaining a whole new perspective on the indirect relevance of the NetBeans Platform, watch that video!



CVE-2005-2475 CVE-2008-0888 Race condition, Denial of Service (DoS), and possible code execution vulnerabilities in unzip


CVE DescriptionCVSSv2 Base ScoreComponentProduct and Resolution
CVE-2005-2475 Race condition in unzip may allow local users to modify permissions of arbitrary files 1.2 unzip
Solaris 9 SPARC: 112951-15, X86: 114194-12
Solaris 10 SPARC: 119254-75, X86: 119254-75
OpenSolaris snv_95
Solaris 8 SPARC: 108987-20 X86: 108988-20
CVE-2008-0888 Extracting maliciously crafted zip files using the unzip command tool may lead to an unexpected application termination or arbitrary code execution. 9.3

This notification describes vulnerabilities fixed in third-party components that are included in Sun's product distribution.
Information about vulnerabilities affecting Oracle Sun products can be found on Oracle Critical Patch Updates and Security Alerts page.