Feed aggregator

Where TK agrees with TK (or: why are triggers harmful)

OraNA :: Oracle News Aggregator - 2 hours 9 min ago
Sofar we've explored playing around with a few triggers to implement a business rule. In this post I'd like to step back a bit and take a birds-eye view at the common use-cases that I see brought up for introducing triggers into the app-development picture.


The first use-case is: we use triggers to assign or modify column values of mutating rows (that is, rows currently being inserted, updated, or deleted). Here's a few typical examples of this use case that, I'm sure, must look familiar to you too.


For this use-case we always use a row-level trigger (for each row), as this type of trigger allows us to manipulate :new.[column-name] variables. We can re-assign supplied (by the trigger DML-statement) column values, or initialize ones that were not supplied. So for instance the use enters all column-values but the Created and By_User columns, which are initialized by a row-trigger we wrote.
The second use-case is: we use triggers to execute insert/update/delete statements. So we perform some DML against a table. This table has some trigger, in which we perform more DML.

Of course this can lead to a cascading effect: the DML that we perform from within our trigger body might be against a table that too has triggers. In which there might be more DML-statements performed, and so on and so forth. Typical examples of why we perform DML-statements inside triggers, are: we want to audit changes against the table, or we want to maintain redundant data stored elsewhere in the database design.

The third use-case is: we use triggers to execute non-transactional stuff. And by "non-transactional" I mean stuff that, once executed inside our transaction, does not participate in a rollback, in case we (the code-path) decides to perform one.


The most beautiful example of the last decade for this is, we call a web-service inside our trigger body. In case this is a web-service that actually 'does something' (changes/transacts information at/behind the endpoint of the service), then obviously when we rollback our triggering DML-statement, whatever was changed by the web-service, remains changed. Other examples of this use-case are: we send email from our trigger body, or perform file I/O. We can also perform an autonomous transaction (one that actually performs some DML which given it's executed inside the autonomous TX, cannot be rolled back by the parent transaction). This is actually a blend of this use-case with the previous one.

So what's harmful about all these use-cases? Well, they make stuff happen automagically (copyright the other TK).


What we mean by this is, that instead of only getting the effect of the triggering DML-statement, you also get the effect of whatever is being performed inside the trigger body. And exactly that is the harmful bit.



In a SQL DBMS, the insert, update and delete 'operators', constitute three primitive operators that we can use to manipulate the data held inside the database (tables). Primitive here is used in the sense of primary or basic. Sort of like Inc(rement) and Dec(rement) are primitives that can be used in machine language to increase or decrease a register's value. These primitive operators have well understood and universally known change-semantics. Say you start with an empty EMP table, you then insert a employee row, you will end up with a change of the EMP table: it now has a single row in it. And all other bits and pieces of the database remain unchanged.

Triggers executing automagic stuff change these universally well-understood change-semantics of our three primitive operators.

And this is harmful: because nobody (after you've gone) expects insert, update or delete to quietly behave  differently. For those of you who have done some machine programming in a distant future: it's like increasing one of your registers, and suddenly (as an automagic side-effect) the top of the execution stack is increased also and has some subroutine's address pushed on it. Not something you'd expect...

The TCO (total cost of ownership) of an application sits not in initially building the thing. It sits in the years, sometimes decades, the thing lives. And you, but more probably others, maintain it. And more often than not these developers expect their available primitive operators to follow the primitive change-semantics.

I'll finish this post with the following thought:


If you agree on the three use-cases discussed being harmful, do you then also agree with me that:
  • The cascade delete option of a foreign key, and
  • The default clause of a table column, and
  • The char (fixed-length) datatype
are to be considered harmful too.
Aren't they conceptually about the exact same problem? Introducing different change-semantics to our three primitive operators?
I'd be interested to hear of any other 'features' that change the way insert, update or delete behave.



The Top 10 Benefits of Content Consolidation

OraNA :: Oracle News Aggregator - 2 hours 34 min ago

Register now for this webinar: Consolidate Your Content And Save With Oracle WebCenter

There are many benefits to consolidating your content. Many people think of consolidation as a cost savings tactic. And it is, in a big way, but there are many other advantages. So, with apologies to David Letterman, this week we will run through the Top Ten list of the benefits of using Oracle WebCenter for Content Consolidation.

10. Find the content you need, when you need it

In a world where people commonly run searches and get 25,000 hits, it is important to limit the amount of content that you are storing so only the most important documents are indexed. Having multiple versions of a document, stored on various servers, at various stages of completion, can be a real detriment to your organization. Oracle WebCenter provides content de-duplication, so multiple copies of a document that then diverge into multiple versions can be stopped, reducing clutter and misinformation.

9. Presenting content in the context of enterprise applications

It’s one thing to be able to search for content. It’s another thing when the content you need is presented to you in context. Users love the fact that when they are in business processes, looking at a customer or vendor record, that all the associated content is right there listed for access. Show me the PO, the invoice, the delivery receipt for this purchase. Show me the presentation, the sales proposal, the service contract for this customer. With Oracle WebCenter, this kind of integration is available out-of-the-box.

8. Lowering storage costs

By consolidating we can lower storage costs. One way this happens, is that when you consolidate, you often find you are keeping content that is no longer useful and you can get rid of it. And that is a one-time gain. But when you consolidate to Oracle WebCenter, you get built-in de-duplication. So every time content is checked in it is compared to existing content. So you can minimize your storage costs by reducing the amount of content you are storing.

7. Lowering administration costs

By using a single content management infrastructure, organizations can save money by reducing the specialized skill sets necessary to administer multiple systems. Instead of having specialists in 3 or 5 or more content management systems, you can have one team that is specialized in your single ECM product.

6. Lowering retraining costs

By using a single infrastructure, as users move from system to system, task to task, even job to job, they encounter the same content management interface. This enables them to use the system without having to be retrained and reoriented on multiple systems.

See the rest of the list on Wednesday, and for more details, make sure to attend the webinar on Thursday!


Reinventing Retail

OraNA :: Oracle News Aggregator - 2 hours 54 min ago

Just like physicists are fond of saying matter is neither created nor destroyed it simply changes form, so goes retailing.  The industry has morphed from small independent stores, to chains, to big-box, to online, to mobile.  Consumers' tastes, habits, and preferences change over time, thus retailers must always stay in-tune.  Unfortunately, many don't.

The most recent whipping-boy of the industry seems to be Brian Dunn, the CEO of Best Buy, who's company was attacked in a recent Forbes article.  (A follow-up to that article, which includes an indirect rebuttal from Brian Dunn, is here.)  While not calling out Best Buy by name, Marc Andreessen also predicted Best Buy's forthcoming demise.  I just finished watching the show Best Buy: The Big Box Fights Back on CNBC, and was struck by the pessimistic future painted there as well.  But in my experience, Best Buy is one of the most innovative retailers in the industry.  Unfortunately, I think their problems are more a reflection of the products they sell rather than a lack of willingness to change.

So are all retailers in trouble?  Ron Johnson, who is credited with Apple Stores' success, recently said retail isn't broken, store are.  Now he needs to prove it as CEO of department store chain JCPenney.  His recently announced transformation plan includes "fair and square" pricing, but Apple was able to avoid discounting because of a lack of viable competition.  JCP doesn't have such an advantage, so it remains to be seen if that strategy will work.

Barnes & Noble did a nice job moving into digital books, unlike competitor Borders, but B&N is still in a fight for its life.  Now they are considering spinning the Nook business off.  While that might unlock additional value in the Nook business, any decoupling from B&N makes their stores less relevant, a step in the wrong direction.

And while physical stores are doing more to be connected to consumers online, there's a rumor that Amazon might just open its first physical store in Seattle, ironically in a former Borders location.

I hate to use this overused phrased, but I will... retail is at an inflection point.  Chains need to lighten the burdensome cost of physical stores, find a way to offer more value to in-store shoppers, or preferably do both.  It starts by building Your Experience Platform to support a strategy for empowering employees to delight your customers.  That includes making better product, placement, pricing, and promotion decisions on the backend, and delivering a unique shopping experience across all selling channels.


We're running fast toward the future of shopping, but only those willing to change will finish the race.


Mashup Standards Part 3: JSONP versus CORS

OraNA :: Oracle News Aggregator - 3 hours 7 min ago

In part 1 of this post, I covered the JSON-P "standard" for mashups. Not so much a standard per se, but a sneaky way to share JSON code between servers by wrapping them in a 'callback' function... For example, if we have our raw JSON data at this URL:

http://example.com/data.js

A direct access would return the raw data dump in JSON format:

{ foo: "FOO", bar: "BAR" }

However, a JSON-P call would return a JavaScript file, that calls a 'callback' function with the raw data:

callback({ foo: "FOO", bar: "BAR" });

Since this is pure JavaScript, we can use it to bypass the "Same-Origin Policy" for AJAX... A typical AJAX call uses the XmlHttpRequest object, which only allows calls back to the originating server... which, of course, means true mashups are impossible. JSON-P is one of the (many) ways around this limitation.

Since JSON-P is something of a hack, many developers started looking for a more secure standard for sharing JSON and XML resources between web sites. They came up with Cross-Origin Resource Sharing, or CORS for short. Enabling CORS is as simple as passing this HTTP header in your XML/JSON resources: Access-Control-Allow-Origin: *

Then, any website on the planet would be able to access your XML/JSON resources using the standard XmlHttpRequest object for AJAX. Despite the fact that I like where CORS is going, and see it as the future, I just cannot recommend CORS at this point.

Security

Since CORS is built on top of the XmlHttpRequest object, it has much nicer error handling. If the server is down, you can recover from the error and display a message to the user immediately. If you use JSON-P, you can't access the HTTP error code... so you have to roll-your-own error handling. Also, since CORS is a standard, it's pretty easy to just put a HTTP header in all your responses to enable it.

My big problem with CORS comes from the fact that it just doesn't seem that well supported yet... Only modern browsers understand it, and cross-domain authentication seems to be a bit broken everywhere. If you wanted to get secure or personalized JSON on a mashup, your back-end applications will need to also set this HTTP header:

Access-Control-Allow-Credentials: true

And, in theory, the AJAX request will pass along your credentials, and get back personalized data. The 1.7 jQuery plug-ins works well with JSON-P and authentication, but chokes badly on CORS. Also, keep in mind that authenticated CORS is a royal pain in Internet Explorer. Your end users will have to lower their security setting for the entire mashup application in order to make authenticated requests.

Now, JSON-P isn't great with security, either. Whereas CORS is too restrictive, JSON-P is too permissive. If you enable JSON-P, then you pass auth credentials to the back-end server with every request. This may not be a concern for public content, but if an evil web site can trick you into going to their mashup instead of your normal mashup, they can steal information with your credentials. This is call Cross-Site Request Forgery, and is a a general security problem with Web 2.0 applications... and JSON-P is one more way to take advantage of any security holes you may have.

Performance

In addition, the whole CORS process seems a bit 'chatty.' Whereas JSON-P requires one HTTP request to get secure data, CORS requires three requests. For example, assume we had two CORS enabled applications (app1 and app2) and we'd like to blend the data together on a mashup. Here's the process for connecting to app1 via CORS and AJAX:

  1. Pre-Flight Request: round-trip from client browser to app1 as a HTTP 'OPTIONS' request, to see if CORS is enabled between mashup and app1
  2. Request: if CORS is enabled, the browser then sends a request to app1, which sends back an 'access denied' response.
  3. Authenticated Request: if cross-origin authentication is enabled, data is sent a third time, along with the proper auth headers, and hopefully a real response comes back!

That's three HTTP requests for CORS compared to one by JSON-P. Also, there's a lot of magic in step 3: will it send back all the auth headers? What about cookies? There are ways to speed up the process, including a whole ton of good ideas for CORS extensions, but these appear to be currently unpopular.

Conclusion: Use JSON-P With Seatbelts

If all you care about is public content, then CORS will work fine. Also, it's a 5-minute configuration setting on your web server... so it's a breeze to turn on and let your users create mashups at their leisure. If you don't create the mashups yourself, this is sufficient.

However... if you wish to do anything remotely interesting or complex, JSON-P has much more power, and fewer restrictions. But, for security reasons, on the server side I'd recommend a few safety features:

  • Validate the HTTP_REFERER: only allow JSON-P requests from trusted mashup servers, to minimize request forgery.
  • Make JSON-P requests read-only: don't allow create/modify/delete through JSON-P.

But wait, isn't it easy to spoof the HTTP referrer? Yes, an evil client can spoof the value of the referrer, but not an evil server. In order for an evil mashup to spoof the referer, he'd have to trick the innocent user to download and run a signed Applet , or something similar. This is a typical trojan horse attack, and if you fall for it, you got bigger problems that fancy AJAX attack vectors... DNS rebinding is much more dangerous, and is possible with any AJAX application: regardless of JSON-P or CORS support.

Links and Free Downloads

For those of you interested in Oracle WebCenter, I created a CrossDomainJson component that enables both CORS and JSON-P, and it includes some sample code and documentation for how to use it. It currently works with WebCenter Content, but I might expand it to include WebCenter Spaces, if I see any interest.

read more


Index naming

OraNA :: Oracle News Aggregator - 3 hours 8 min ago

Here’s a model of a little problem I came across recently. It’s something I wrote about many years ago, and I thought I’d seen a note on Metalink explaining that the issue had been addressed; but the problem is still there, even in 11.2.0.3.

We start with a little data set (and it’s my standard setup of 8KB blocks, LMTs, 1MB uniform extents, and no ASSM):

create table t1 as with generator as ( select --+ materialize rownum id from dual connect by level <= 10000 ) select trunc((rownum-1)/2) product_id, mod(rownum-1,2) flag1, mod(rownum-1,3) flag2, rownum n1, lpad(rownum,30) v1 from generator v1, generator v2 where rownum <= 1000000 ; -- collect stats, compute, no histograms alter table t1 add constraint t1_pk primary key (product_id,flag1, flag2) using index ( create unique index t1_pk on t1(product_id, flag1, flag2) ); create index t1_i1 on t1(product_id, flag2, flag1, n1,v1);
As so often happens with the anomalies I uncover on client sites, there’s something a bit odd about this model. The second index starts with all the columns of the primary key (although the column order is slightly different). There is a rationale for this: the second index makes a big difference to a particular overnight batch job because it eliminates a large number of random accesses to a very big table. The intention is to drop the primary index eventually and use this larger index to cover the primary key.

Here’s an example of a very simple SQL statement which is run very frequently during the day – but don’t ask why this statement happens, there is a good rationale but it would take a lengthy explanation.
select rowid from t1 where product_id = 2500 ;

Which index do you think Oracle will use to execute this query ? If it’s not obvious from the index definitions I’ll give you an extra clue by reporting a few of the index statistics as well.

INDEX_NAME BLEVEL LEAF_BLOCKS CLUSTERING_FACTOR -------------------- -------- ----------- ----------------- T1_PK 2 2,807 7,088 T1_I1 2 7,996 7,154

The answer is that Oracle uses the larger index. Here are the execution plans I get from hinting the query to use each index in turn:

============ Hinted to PK ============ ---------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | ---------------------------------------------------------- | 0 | SELECT STATEMENT | | 2 | 34 | 3 | |* 1 | INDEX RANGE SCAN| T1_PK | 2 | 34 | 3 | ---------------------------------------------------------- ====================== Hinted to larger index ====================== ---------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | ---------------------------------------------------------- | 0 | SELECT STATEMENT | | 2 | 34 | 3 | |* 1 | INDEX RANGE SCAN| T1_I1 | 2 | 34 | 3 | ----------------------------------------------------------
The two indexes produce the same cost (and you can check this in more detail in the 10053 trace) – so why does Oracle use the “wrong” index ? Because when you sort the index names alphabetically, T1_I1 comes before T1_PK. If you doubt me at this point, by the way, just run the test and then repeat it using the name T1_XX instead of T1_I1.

You might think the problem has something to do with bad statistics, of course – but that’s why I sepcified compute in the stats collection. To hammer the point home I’ve also run tests hacking the statistics on the T1_I1 index, doubling virtually every statistic (leaf blocks, clustering_factor, etc.) except the number of distinct keys – which I halved. There is a statistical solution – but I’d have to push the statistics on this index a very long way before the arithmetic for this query made the larger index more expensive than the smaller one.

I thought I’d seen a note on MOS (Metalink) saying that this tie-break situation had been addressed with an extra test based on the number of distinct keys, (I’m not sure it’s been implemented, but clearly these two indexes have the same number of distinct key anyway). Perhaps a check on the absolute number of leaf blocks in the index might also be in order if the key count is a tie. In the meantime, of course, I can add a SQL Baseline to the query.

The choice of index doesn’t make any difference to the performance of any individual execution of the query, of course, but it does mean that I don’t have both the indexes taking up space in the cache during the day when the larger index shouldn’t really be used, so statistically the wrong choice has an impact on every execution of this query and every other query on the system.



Meet Me in Toronto on Thursday!

OraNA :: Oracle News Aggregator - 3 hours 16 min ago

For those of you in the Toronto area, I'll be presenting at the AIIM/Oracle Social Business Seminar this Thursday! Its at Ruth's Chris Steakhouse, 145 Richmond Street West, Toronto, ON. The agenda is as follows:

  • 10:00 a.m: How Social Business Is Driving Innovation, Presented by: John Mancini, AIIM
  • 11:00 a.m: Solving the Innovation Challenge with Oracle WebCenter, Presented by: Howard Beader, Oracle
  • 12:00 noon: Lunch and Networking, Table Discussions on Case Study Challenges
  • 1:00 p.m: Strategies for Success Case Study, Presented by Bex Huff, Bezzotech
  • 1:45 p.m: Final Remarks

Space is limited, so register now for a seat!

read more


Learn How To Power the Cross-Channel Customer Experience with Oracle’s Complete Commerce

OraNA :: Oracle News Aggregator - 3 hours 16 min ago
Today’s customers are more information-enabled and mobile than ever before. This growing trend creates a double-edged sword to offer a consistent brand journey while also keeping them loyal and happy.

Customers expect instant gratification, whether it stem from their pc, smartphones, tablets or retail kiosks. They may begin the buying process in a retail store, but complete it from the comfort of their couch. And through it all, they expect their journey to be personalized, relevant and consistent across all of these touchpoints.

So, how can your company hope to deliver on its brand promise beneath such lofty expectations?  Read this white paper and gain an understanding of Complete Commerce and how it can change the way you interact with your customers. You will understand how Complete Commerce can help you unify the customer experience, personalize their journey, maximize the engagement, and optimize the execution.


Learn How To Power the Cross-Channel Customer Experience with Oracle’s Complete Commerce

OraNA :: Oracle News Aggregator - 3 hours 17 min ago

Today’s customers are more information-enabled and mobile than ever before. This growing trend creates a double-edged sword to offer a consistent brand journey while also keeping them loyal and happy.

Customers expect instant gratification, whether it stem from their computers, smartphones, tablets or retail kiosks. They may begin the buying process in a retail store, but complete it from the comfort of their couch. And through it all, they expect their journey to be personalized, relevant and consistent across all of these touchpoints.

So, how can your company hope to deliver on its brand promise beneath such lofty expectations? Read this white paper and gain an understanding of Complete Commerce and how it can change the way you interact with your customers. You will understand how Complete Commerce can help you unify the customer experience, personalize their journey, maximize the engagement, and optimize the execution.


ATG Live Webcast: Oracle E-Business Suite Internationalization and Multilingual Features

OraNA :: Oracle News Aggregator - 4 hours 24 min ago
Are you considering a single global instance for your organization? Do you need to know about Unicode support, multilingual support, regional preferences, and other internationalization features within E-Business Suite? If so, you need to attend the next installment of our ATG Live Webcast series on Feb. 9, 2012:
Oracle E-Business Suite Internationalization and Multilingual Features

Join Maher Al-Nubani, Director, Internationalization Development, as he discusses internationalization and MLS considerations when running a global single instance of Oracle E-Business Suite. Maher will discuss unicode support, multilingual support, calendars, and others while providing you with a chance to ask your questions directly during a Q&A session at the end.



This Oracle E-Business Suite Internationalization and Multilingual Features webcast will include the following topics:
  • Globalization: Meeting Local and Global Requirements
  • Quick Terminology Overview
  • Unicode Support
  • Multilingual Support
  • Regional Preferences (Locale)
  • International Calendar Support
  • First Dat of the Week Support
  • Multilingual Report
Date:               Thursday, February 9, 2012
Time:              10:00 AM - 11:00 AM Pacific Standard Time
Presenter:     Maher Al-Nubani, Director, Internationalization Development

Webcast Registration Link (Preregistration is optional but encouraged)

To hear the audio feed:
    Domestic Participant Dial-In Number:           877-697-8128
    International Participant Dial-In Number:      706-634-9568
    Additional International Dial-In Numbers Link:
    Dial-In Passcode:                                              99331

To see the presentation:
    The Direct Access Web Conference details are:
    Website URL: https://ouweb.webex.com
    Meeting Number:  596274315

If you miss the webcast, or you have missed any webcast, don't worry -- we'll post links to the recording as soon as it's available from Oracle University.  You can monitor this blog for pointers to the replay. And, you can find our archive of our past webcasts and training here.

If you have any questions or comments, feel free to email Bill Sawyer (Senior Manager, Applications Technology Curriculum) at BilldotSawyer-AT-Oracle-DOT-com. 


APEX: Show Actions menu with Authorization

OraNA :: Oracle News Aggregator - 4 hours 27 min ago
With an Interactive Report you can choose whether you want the Actions Menu to be shown or not. This has to be done by the developer. Of course the customer wanted to have this based upon the existing authorization scheme. How can you solve this? Dynamic Actions to the rescue.Go to the Interactive Report page where you want to base the Actions Menu upon the existing authorization scheme. And right click on the "Dynamic Action" in the tree view, and choose "Create".In the wizard that follows choose the "Advanced" option (no screenshot). Provide a name for the Dynamic Action, like "Hide Actions Menu"The next step in the wizard asks when the Dynamic Action is supposed to fire, in our case we want it to fire when the Page Loads - and that's what we will pick from the list.The action that needs to be taken is a little bit of javascript, actually jQuery.This little bit of jQuery states: "Remove the element from the page which ID has a value of apexir_ACTIONSMENUROOT".Because we don't want this Dynamic Action to control anything else, we can leave the next step default.Now we're almost done, the last step is to get the Authorization Scheme attached to the Dynamic Action.In this screenshot I only have "Must Not Be Public User", but you get the drift.And there you have, an Actions Menu based upon an existing Authorization Scheme.Why not with a simple Hide action?When I showed this to my colleague Marc, he showed me that something similar can be done by a simple Dynamic Action.When you choose to hide the Actions Menu, as shown in the above screenshot, advanced users - hackers, if you will - can make the Actions Menu visible. And when it is visible, you can execute all the actions from the Actions Menu. How do you make it visible after it is hidden? By using a single line of jQuery:
$('#apexir_ACTIONSMENUROOT').show()
My advise would be to remove the Actions Menu from the DOM, as shown before, instead of simply hiding the Actions Menu.Update (06 Feb 2012 18:05)Maybe it's better to use this jQuery selector to remove the Actions Menu:
$('.apexir_ACTION_MENU').remove()
The other selector leaves some items of the Actions Menu in the DOM... and we don't want that.LinksjQuery Remove API


PeopleSoft App Store

OraNA :: Oracle News Aggregator - 4 hours 39 min ago

It’s been a long time coming, but the PeopleSoft App Store is finally ready to see the light of day.

The intention is for users to be able to browse a central repository for PeopleSoft apps. There’s plenty of precedent for this type of site with the Android Marketplace or Apple AppStore on mobile platforms, and the Salesforce AppExchange or SAPs App Store (which was even longer coming than this site!). Top blogger Jiju has spoken about this also, although the concept is broadly similar his ideas are very different.

I’ve put a few small-ish ‘apps’ live already, and the intention is to add many more apps and improve the site as time goes on (I’m aping the Facebook “Done is better than perfect” philosophy).

Have a look and let me know what you think.



Java EE 6 and 7 at JUGICE, Iceland, JFokus 2012, and Umeå JUG, Sweden

OraNA :: Oracle News Aggregator - 4 hours 46 min ago

After an easy January month, the conference circuit is starting with a tour of the Nordics.

What ? Java EE 6 hands-on workshop
Date ? Saturday, Feb 11, 2012
Time ? 9am - 1pm
Where ? Reykjavik University, Fönix (m-105)
Register ? jugice-ag2012-eorg.eventbrite.com
Prep work: Download and Install NetBeans 7.0.1 or later ("All" version) from netbeans.org, JDK 6 latest update from oracle.com/javase.
Twitter: @JUGICE




What ? Java EE 6 hands-on workshop (Feb 13, 9am), PaaSing a Java EE Application (Feb 15, 9am), Java EE 7: Developing for the Cloud (Feb 15, 1pm)
Date ? Monday - Wednesday, Feb 13 - 15, 2012
Time ? All Day
Where ? Stockholm Waterfront Congress Center, Sweden
Register ? jfokus.com (almost sold out, register quick)
Prep work: (For hands-on workshop only) Download and Install NetBeans 7.0.1 or later ("All" version) from netbeans.org, JDK 6 latest update from oracle.com/javase.
Website: jfokus.com
Twitter: @jfokus

Check out my reports from JFokus 2011.



What ? Java EE 6 hands-on workshop
Date ? Thursday, Feb 16, 2012
Time ? 6pm
Where ? Umeå University (Triple-Helix), Umeå, Sweden
Register ? Just show up
Prep work: Download and Install NetBeans 7.0.1 or later ("All" version) from netbeans.org, JDK 6 latest update from oracle.com/javase.
Website: umejug.blogspot.com

Where will I meet or run with you ? :)


Does Your Organization Have the Right Tools to Collaborate?

OraNA :: Oracle News Aggregator - 5 hours 12 min ago
We’ve reached a new era of collaboration and communication. We now live in a world where we are surrounded by social tools -- from checking into a flight at the airport from a smartphone, to buying groceries online and having them delivered to your door, to renting a movie and watching it directly from your plasma TV. We also live in a world where grandma’s have Facebook, teens are using Twitter, and children know how to use iPhones better than their parents. That’s some pretty interesting (and scary?) stuff right there.
Not only are these social tools available in our personal lives, but we see (and demand) those same experiences in our work lives. Imagine if you could easily share information with the right people in various departments and roles across the company. And what if you could also automatically deliver targeted information to potential customers—and connect them with the right partners? Does your organization have the proper tools in place to allow employees, partners and customers to efficiently communicate and collaborate? We’d love to get your feedback on user experience, adoption and attitudes regarding user engagement & collaboration solutions! And be sure to check out this video series to learn how when having the proper user engagement platform in place, you can allow your employees, partners and customers to collaborate efficiently. 


Back to the Strategy

OraNA :: Oracle News Aggregator - 5 hours 14 min ago

Methodologists are much like everyone else in that we are all too crazy busy to spend time reflecting on the past.  However, as I was preparing for a presentation at the 2012 JDE Summit last week, I found myself reflecting on the fact that I had returned to the site of an important milestone in the evolution of OUM.

It was seven years ago, in a conference room at the Oracle campus in Broomfield, Colorado, that several legacy Oracle, PeopleSoft and JD Edwards folks got together and sketched out what became Oracle’s method integration strategy.  We may have tweaked the actual wording since that meeting, but the foundations of the strategy have remained:

  • Support current methods (Compass, AIM, ABF, Siebel, DWM FT, etc.)
  • Develop a single, integrated method, to support the entire Oracle ecosystem, across all Oracle products (OUM).
  • Decommission legacy methods as the field transitions to OUM.

In the seven years since the initial meeting in Broomfield, this strategy has served as a solid foundation as OUM has evolved and many acquisitions have subsequently been brought into Oracle.  So I suppose that for even crazy busy people, there is benefit in reflecting back on the fundamental decisions that continue to drive our day-to-day tasks.


Die Oracle Exalytics In-Memory Maschine – Baukasten für schnelle Performance und detalierte Analayse

OraNA :: Oracle News Aggregator - 5 hours 26 min ago

Mit der Produktveröffentlichung der Oracle Exalytics In-Memory Maschine verfolgt Oracle weiterhin die Engineered System Strategie, die Oracle bereits mit der Exadata begonnen hat. Damit bietet Oracle seinen Kunden ein BI-Bundle  mit ausgefeilter Software und Hardware an, die optimal auf einander abgestimmt ist. Zudem haben Anwender, Entscheider und Mitarbeiter einen detailierten und tiefen Einblick in Geschäftsprozesse. Sowohl bei Business Intelligence Operationen als auch bei Performance Management Applikationen ist die Oracle Exalytics die sinnvolle Ergänzung der bestehenden IT-Infrastruktur oder die optimale Paarung bei einer bereits bestehender Exadata-Infrastruktur.  

 

Warum Oracle Exalytics In-Memory Maschine?

Die Oracle Exalytics In-Memory Maschine ist nicht nur nach dem neusten Stand der Technik entwickelt, sondern 

  • ist die derzeit schnellste IT-Lösung, wenn es um BI-Prozessmodellierung, BI-Prognosen und BI-Planung geht.
  • stellt die derzeit Best-In-Class BI-Lösung im Enterprise-Umfeld bereit.  
  • gibt schnell einen tiefen und detalierten Einblick in Prozesse, analysiert Daten auf verschiedenen Ebenen und hilft somit Geschäftsentscheidungen basierend auf aktuellen (Live-)Daten zu treffen.

 Mehr Informationen zum Thema Oracle Exalytics In-Memory Maschine finden Sie hier!


Live Webcast: Bridging the Sign-On Gap in the Cloud

OraNA :: Oracle News Aggregator - 5 hours 36 min ago

Organizations today are increasingly leveraging Cloud and SaaS based applications to run various aspects of their businesses - ranging from payroll and HR to customer relationship management and office productivity. The new normal in the modern enterprise is to run a mixture of both on-premise and cloud applications with the objective of streamlining operational efficiency and enhancing user productivity. Enterprise users need seamless access to various applications including legacy mainframe, client-server, web applications and cloud services. But IT security teams have the challenge of ensuring security while streamlining access to a variety of resources. Single Sign-On can bridge the gap between the enterprise and the cloud while reducing user frustration.

Join us for a live webcast on Feb 9 where will discuss strategies to overcome your cloud sign-on challenges. This webcast will feature Kuppinger Cole analyst, Sebastian Rohr and Matt Berzinski from Oracle. In this webcast, we will discuss how organizations can benefit from a cloud sign-on strategy. In addition, you will learn how single sign-on can jump start an organization’s cloud access management strategy and improve security.

Register here for this webcast.


get your traces - yourself

OraNA :: Oracle News Aggregator - 5 hours 44 min ago


I'd like to mention a small peace of software. It's called MrTrace and available in Version 2.0.0.43 right now. For me it's a tool to save time. So what is it doing at all?
MrTrace is a plugin for Oracles SQL Developer to access tracefiles via SQL Developer. It's previous version could only access the tracefile for the statement you just executed. But since version 2 you anyone with the right permissions access any tracefile in the trace directory.

For a DBA it does not sound spectacular to access tracefiles, but it can be quite annoying to get and distribute tracefiles for developers. In my current company there is no OS-access to databae servers for anyone except DBAs and OS-admins. this means someone must copy over the traces to make them accessible for others. It's not a complex task, but it's disturbing.
With MrTrace I can grant anyone who knows how to use SQL Developer permissions to access trace files. So it saves a lot of time, for me and the developer. At a price of less than us$50 it should amortize in no time, if you have a diligent developer.

A list of my very private findings:
PROs:
  • it's easy to install (on the client side) 
  • it's not OS-dependent - you can apply it on any client-OS where you can start SQL Developer
  • the installation script for the database user and objects is not wrapped. So you can review and even change this part of the software. (in my case, we have a PASSWORD_VERIFY_FUNCTION enforced in my company. I needed to edit the installation script to create the user MRTRACE.
  • The support of Method R is great! I had the joy to participate in their beta program for version 2 of MrTrace. We had some nice conversations.  
CONs:
  • You need SQL Developer for the client side. - No big deal for me, but in some companies that might be a problem.
  • MrTrace needs java to do some tasks. Unfortunately there is no method to list the content of a directory, so java is needed. 
  • OS-commands like ls,  find and xargs are used. There is nothing bad about these commands, but I don't see anything they do what cannot be done in java directly. So for me it increases complexity without a need. 
And no, I am not an employee of Method R, the only relation is the software license I bought myself. 


RESETLOGS

OraNA :: Oracle News Aggregator - 5 hours 53 min ago
See my updated post "Understanding RESETLOGS".

.
.
.


Syndicate content