Wednesday, June 29, 2016

Installing SOA Quickstart 12.1.3

(For those who still want to install / run SOA Suite 12.1.3 for whatever reason...)

Note: Oracle's 12.1.3 Quickstart install guide is located at: https://docs.oracle.com/middleware/1213/core/SOAQS/integrated.htm#SOAQS206. Or, you can use the quick cheat sheet below...

1. Download the SOA Suite 121.3 installer zip file from:
http://www.oracle.com/technetwork/middleware/soasuite/downloads/soa1213qsdownload-2769533.html

    -accept the OTN license and open up the Recommended Install Process region to get to the download

2. Unzip installer so you have the jar file in a directory <somewhere>

3. Download and install the JDK - docs say you need JDK 7 update 55 or later. I tested with JDK 7 update  80, which can be located at:
http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jdk-7u80-oth-JPR
specifically for Windows 64 bit: http://download.oracle.com/otn/java/jdk/7u80-b15/jdk-7u80-windows-x64.exe (though this link only works if you have accepted the license agreement in the last 30 mins...)

Note: SOA Suite 12.1.3 only runs with Java 7 (not 8). SOA Suite 12.2.1 only runs with Java 8 (not 7...)

4. Open up a command prompt - RUNNING AS ADMINISTRATOR by right-clicking the command prompt icon and choosing run as administrator - and cd to where you put the SOA Suite jar files. You will also need to make sure you are picking up the right Java - both the right version you just downloaded and the one associated with a JDK and not a JRE. For me, accepting the default location on Windows 64 bit for my Java installation, I was able to run the SOA Suite installer with:
"C:\Program Files\Java\jdk1.7.0_80\bin\java.exe" -jar fmw_12.1.3.0.0_soa_quickstart.jar
(on my laptop, it takes 2-3 mins to extract all the files and then the graphical installer comes up - the screens in the installer wizard are pretty self-explanatory so I won't go through them here...)

5. Fire up JDev and go!

Friday, March 25, 2016

Second SOA Expert Series Webinar: Upgrading to SOA Suite 12c - Apr 6 at 9AM PDT

Upgrading to SOA Suite 12c:

Tips and Best Practices from Engineering, Customers and A-team

Presented by Oracle Integration Cloud team and Middleworks
Weds, April 6, 2016
9:00 am  |  Pacific Daylight Time (San Francisco, GMT-07:00)  |  1 hr

In this, the second webinar in our SOA Expert Series, we have put together a panel to share tips, tricks and best practices for upgrading to Oracle SOA Suite 12c. By now, many customers have made this transition, but there is still a very large install base of 11g deployments out there. This session will share real world experiences and lessons learned from those who have been down this path. As usual, we will have an active panel with brief, focused presentations and pointers to much more content which can be digested following the session. Come prepared with your questions and comments!

Planned participants on the panel or available to answer chat questions include:
  • Antony Reynolds and Jay Kasi from the Oracle Service and Cloud Integration prod mgmt team, responsible for 12c upgrades, providing an overview and best practices for upgrade and describing some of the new features in 12.2.1 available to those who upgrade
  • Danilo Schmiedel of Opitz, an Oracle ACE Director talking about lessons learned and best practices from a 12c upgrade experience
  • Deepak Arora of the Oracle A-Team who has assisted several customers with 12c upgrades
  • David Shaffer of Middleworks, moderating and providing additional resources
  • Kathryn Lustenberger from the Oracle Service and Cloud Integration prod mgmt team responsible for this series
  • Vamsee Goruganthu from the Oracle QA team, responsible for SOA 12c upgrade QA
The content for this session is fast, focused and highly technical, with extra materials and links to documentation provided in the slides for attendees future reference. All who register will receive invitations to future related events and the ability to access a recording of the webinar. To access this information for previous webinars, and see the schedule for future webinars, go to http://www.middleworks.com/soa-expert/


Finally, for anyone who has upgraded to 12c already, or plans to do so in the next 12 months, we request that you fill out the one-page survey below. This information will not be shared publicly, except in the aggregate or anonymously. But it will of great value to the product team and community:
    https://www.surveymonkey.com/r/soa-12c-upgrade

After your request has been submitted, you'll receive instructions for joining the meeting. Can't register? Contact support. Have requests for future webinar topics or want to offer to be a presenter? We would love to hear from you. And, please feel free to share this information with other interested colleagues.

Monday, March 21, 2016

Cheat sheet and links for installing SOA Suite 12.2.1

I just finished installing SOA Suite 12.2.1, developer edition, on my laptop and took a few notes to try to expedite the process for others. Personally, I find each time I install I need to spend a few mins looking around for the right links, the right JDK, the right commands to run the installer. So in case these are useful for others, here are my notes:

1. Download the two SOA Suite installer zip files from:
http://www.oracle.com/technetwork/middleware/soasuite/downloads/index.html
    -accept the OTN license and open up the Recommended Install Process region to get to the downloads

2. Unzip installers so you have two jar files in a directory <somewhere>

3. Download and install the JDK - docs say you need JDK 8 update 51 or later. I tested with JDK 8 update 92, which can be located at:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
specifically for Windows 64 bit: http://download.oracle.com/otn-pub/java/jdk/8u92-b14/jdk-8u92-windows-x64.exe (though this link only works if you have accepted the license agreement in the last 30 mins...)

4. Open up a command prompt - RUNNING AS ADMINISTRATOR by right-clicking the command prompt icon and choosing run as administrator - and cd to where you put the SOA Suite jar files. You will also need to make sure you are picking up the right Java - both the right version you just downloaded and the one associated with a JDK and not a JRE. For me, accepting the default location on Windows 64 bit for my Java installation, I was able to run the SOA Suite installer with:
"C:\Program Files\Java\jdk1.8.0_92\bin\java.exe" -jar fmw_12.2.1.0.0_soa_quickstart.jar
(on my laptop, it takes 2-3 mins to extract all the files and then the graphical installer comes up - the screens in the installer wizard are pretty self-explanatory so I won't go through them here...)

5. Fire up JDev and go!

Wednesday, January 6, 2016

Starting webinar series with Tips and Tricks for Oracle SOA Suite

I've been talking about this for a couple years now, but finally did it. The initial idea is that we have offered a very popular Open World panel session, called "Oracle SOA Suite Tips and Tricks from Oracle Engineering and A-team" (and this year added a customer to the panel), and there is no reason we can't bring this content to a much wider audience via webinar. So we have scheduled that for next Tuesday, Jan 12, at 9AM PST (San Francisco time for those of you overseas...).

But beyond the initial webinar, we would like to extend this into a larger series, with the idea being to promote greater sharing of knowledge and expertise with the SOA Suite community at large. I have the commitment of the A-team management team and I think lots of good content can come from engineering, partners as well as customers. So, please check out the information below and register for the session, and/or share this information with your colleagues and associates.

And, please email me any suggestions you have for future topics or proposals you have to present content of your own.

Finally, in a bold sales pitch, if you have a need to find the right SOA Suite expertise or to improve your own organization's execution, capacity, strategy, resolve issues, etc, please don't hesitate to reach out to me at dave@middleworks.com.

*******************************************************************************

Tips and Tricks for Oracle SOA Suite by Oracle A-Team, Engineering, and Customers
Sponsored by Oracle SOA Suite product team and Middleworks
Tuesday, January 12, 2016
9:00 am  |  Pacific Standard Time (San Francisco, GMT-08:00)  |  1 hr
Join us as we recreate one of the most popular Oracle Open World sessions around the Oracle SOA Suite and deliver it to the world via webinar format. We are hoping this webinar will be the first of many and we plan to expand this into a series to create a more robust information sharing community around SOA Suite, including the Oracle product management and engineering teams, A-team, customers and partners. For this first session, we are delivering an expanded version of the OOW "Tips and Tricks for Oracle SOA Suite" session, which is always delivered to a packed room. In the webinar version, we will be able to provide a little more time to each of the speakers and topics, which are:

     - Joe Kardamis from The Sherwin-Williams Company, talking about agile development methodology with SOA
    - Antony Reynolds from the Oracle Service (SOA) & Cloud Integration Product Management team, talking about error handling and managing your dehydration store
    - Sherwood Zern of the Oracle A-Team with some common issues seen in Oracle Service Bus implementations
    - David Shaffer (dave@middleworks.com) of Middleworks, sharing tips from the SOA engineering team on working with large schemas in JDeveloper's XSLT mapping tool

The content for this session is fast, focused and highly technical, with extra materials and links to documentation provided in the slides for attendees future reference. We encourage you to come with your related project questions and ask them during the Q&A periods. If you are working actively with the Oracle SOA Suite, we guarantee you will walk away with some truly useful information! Note: Total attendees for the webinar may be limited, and since we are not sure how popular this event will be, we encourage you to pre-register and join the webinar a few minutes early. All who register will receive invitations to future related events and the ability to access a recording of the webinar in case you have any trouble connecting.

After your request has been submitted, you'll receive instructions for joining the meeting. Can't register? Contact support. Have requests for future webinar topics or want to offer to be a presenter? Email dave@middleworks.com. And, please feel free to forward this invitation to other interested colleagues.

Tuesday, November 17, 2015

Make your charitable donation dollars go further with donor advised funds and donating appreciated stock

Stop throwing away money! If you are making charitable donations using cash, check or credit card, you are most likely giving up federal and state tax dollars that could be saved by donating appreciated stock instead. One way to greatly simplify this process for all your charitable donations is to leverage donor-advised charitable funds. This article explains these donation strategies and hopefully everyone will use the additional tax savings to increase their donations!

First, a little background on tax benefits before we get to the benefits of donating appreciated stock. When you donate to a charity, you are eligible for a deduction on your federal and state taxes, as long as you itemize your deductions on your taxes. So, assuming your combined Federal and State marginal tax rates add up to about 40% (family income of $150k or greater), when you donate $10,000 to your local public school you will save at least $4,000 on your taxes.

This is great -- however, it would be even better if you donate appreciated stock because you get additional tax savings.

Say you own shares of a stock or mutual fund that you bought in 2008, which are now worth twice what you paid. If you were to sell $10,000 worth of those shares, you would owe capital gains taxes on the $5,000 increase in value. In California, where capital gains are treated like ordinary income, you might owe 15% or 20% federal capital gains tax plus, say 9.3% CA state tax (if your family makes more than $100K/yr). Estimating a 25% total tax rate, you would pay approx $1,250 in taxes on the sale of the stock. The taxes would of course be even higher if the stock had appreciated more - say you bought Apple stock at the same time, for example, the tax bill might be closer to double that - $2,500 on the $10,000 stock sale since most of the value would be taxable gain.

What the government allows you to do is to make a charitable donation of your appreciated stock directly, instead of cash and without ever selling the stock. By doing this, you get the full $10,000 tax deduction, and never have to pay taxes on the gain in stock value. So by donating appreciated stock in this example, you can give $10,000 to your school and the government will effectively pay you back $5,250 of your donation!

To maximize the value of this, our family keeps a few of our most highly appreciated stocks in our portfolio just for our charitable donations. If you have something that has increased in value many-fold over the years, that is the perfect candidate for a stock donation.

Most charities, including of course our local Burlingame Community for Education (BCE), will accept stock donations, which typically requires instructing your financial institution to transfer a given number of shares to a specific account for your charity. For BCE stock donation information, see http://www.bcefoundation.org/donate/#stock or email stockdonation@bcefoundation.org for details. Given that you may have purchased different lots of your shares at different times, you should also make sure that your financial institution specifically transfers the shares that have the lowest cost basis.

This is great, and not too difficult for your larger donations. However, our family also makes a number of smaller donations, to colleges we attended, charities and non-profits we support and the occasional one-off donations when a friend or family member is fundraising. In the case of one-off donations of $50, $100, etc., it may not be worth the effort to make those donations with appreciated stock. This is one way that "donor-advised funds" can come in handy and a perfect segue to that topic. 

Donor-Advised Funds

Briefly, the way donor-advised funds work is that you make a donation to the fund (in our case, we use Fidelity Charitable, http://www.fidelitycharitable.org/) who will then set up an account for you to hold your donation(s). This is basically like having your own family foundation, though it can be done with much smaller amounts of money (Fidelity Charitable's minimum to set up an account is $5,000 - and after that initial donation, there is no minimum balance required). You get the tax deduction at the time you donate to your fund account and cannot ever get the money back for your own personal use thereafter, so you should only do this with funds you know you will eventually want to donate.

Once your account is funded, you can select from various investment choices, much like a 401K, and the account may grow in value, depending on how you invest it. Then, over time, you direct the fund to make donations from your account to your preferred charities, with the timing and amounts that you select. When a donation is made to your selected charity from your account, you do *not* get a tax deduction, since you got the deduction already, when you made the initial donation to the donor-advised fund.

There are several benefits to donor-advised fund accounts:

* You can very easily donate appreciated stock. In our case, we use Fidelity to manage many of our securities and it is literally a 2 min task to select the stock that has the greatest appreciation and transfer some shares of it to our donor-advised fund account.
* You can very easily make small donations from the account - Fidelity has a super simple interface to find a charity (say, American Red Cross) and make a donation of any amount. It's also very easy to set up annual donations, which we do for all our colleges, etc so the money goes to the charity every year without us needing to do anything.
* Very interestingly, you can now control the tax year of your donations much more flexibly. For example, if you have one particularly high income year, you can fund your donor-advised fund account with several years worth of charitable donations. This maximizes the tax deduction value of those donations. Or, if you have some years when you itemize deductions and some when you do not, you can group all your donations into the tax year when you are itemizing. The same approach can apply if you have some years when you are subject to the AMT (which has a lower deductible rate for charitable donations) and some when you are not. You get the idea...
* You can have the fund donate in your name, or anonymously, and with or without your address. This can decrease the mail you get when non-profits sell or rent their donor lists to other charities.

There are of course potential disadvantages which you should be aware of:
* Once you give the money to the donor-advised fund, you cannot get it back. You (or your heirs) can choose when and who to give it to, but you can't undo your donation. So if you are making several years' worth of donations at once, make sure you will not change your mind.
* Your fund account can grow in value, which is great since you will have more money to donate to your favorite non-profits. However, if you instead kept the stock in your personal account and let it grow there, and then donated it to the fund later, your deduction would be even larger. So there is a tradeoff between controlling the tax year for your donation and "just in time donating", which may maximize your deduction, assuming the market always goes steadily up...
* There are some fees associated with donor-advised fund accounts. For example, Fidelity charges $100/yr or .6% (whichever is greater) from your giving account balance. For us, this is dwarfed by the tax savings of making small donations with appreciated stock, but it is something to be aware of.

And critically, if your employer matches your charitable donations, this donor-advised fund strategy may not be right for you because your company might not match your donation to your own donor-advised fund account and they certainly won't match the donation from the account to your selected charity. If you take advantage of corporate matching, I would suggest: (a) checking with your company to see if they will match donations to donor-advised funds and, if not, (b) donating appreciated stock directly to your charity to get your maximum company match and then using a donor-advised fund for additional giving or for any donations for which you will not get the company match.

Finally, I should say that I am not a lawyer, nor an accountant, nor have any official connection to Fidelity (other than as a customer). I'm sure other large investment banks offer donor-advised funds. So you should investigate these options for yourself and see what is right for your family. But, any time you are making a charitable donation with cash, check or credit card and not getting your employer to match your donation, you should be thinking about making the donation instead with appreciated stock, either directly or via a donor-advised fund.

For those of you who give to BCE, now that you understand how the government will effectively reimburse you for 50% or more of your donation, hopefully you will adopt this strategy and then double your BCE donation next year. :-)

Friday, October 30, 2015

Tips for Working with Large Schemas in JDev
(specifically OTM schemas in JDev 12c XSLT mapper)

While supporting a customer, I recently encountered some issues with large XSLT docs in JDev's 12c XSLT editor (specifically trying to map to the Oracle Transportation Manager schemas, though the same challenges are likely with schemas for any large packaged app, e.g. EBS, salesforce, SAP, etc. The Oracle engineering team provided some excellent support, including fixes that were available in bundle patch 2 and beyond for JDev (I wasn't even aware such JDev bundle patches existed) as well as some key tips and tricks for working with large schemas in the JDev XSLT mapper. A doc describing all of this is available at: http://bit.ly/1M92Cq3

Monday, November 4, 2013

Musings on sales lessons I learned at Collaxa...

Several of the most interesting things I learned at Collaxa (the small startup I was at which got acquired into Oracle in 2004) were around the sales process. Collaxa was a unique growth opportunity in this area because it was a small company where we had one salesrep for only part of the lifetime of the company, and so everyone in a leadership or outbound position took on a sales role. Also because Edwin Khodabakchian, co-founder and CEO of Collaxa, was young back then, but had some incredible intuition around the intersection of sales, marketing and engineering. And finally, since we were all going to be doing sales, when none of us were formally trained in it, Edwin purchased or otherwise acquired a set of cassette tapes from a Netscape sales training (yes, cassette tapes and Netscape co-existed at one point in time - both are gone now, but that is a story for a different blog post).For now what prompts this blog post is that I found that sales training to be super valuable and I have been carrying around for the last 10 yrs  (literally on the back of an envelope) some notes I took from the training. I just rediscovered the usefulness of some of these questions and so decided to share my notes.

These notes are around questions to ask a prospect or customer, early in the sales cycle. First, a few background comments:
* Every sales training I have seen has included the comment "Telling isn't Selling" to refer to the fact that showing up at a prospect and spending the whole time talking about what you can do, showing product demos and powerpoints, etc is not selling. Effective selling is about asking questions and understanding the customer's needs and priorities and then proposing appropriate solutions and tools.
* The sales cassettes compared this to going to a doctor. If you went to a doctor and they immediately started talking about their new fantastic drug and describing all the drugs they were able to prescribe, without even asking you what was wrong with you, you would never go back to that doctor again. A doctor starts by asking you why you are there, what your symptoms are, etc. The early part of a sales cycle should look a lot like this.
* So the questions below are intended to help people ask probing questions that determine what are the problems that a customer is interested in, and how important they are to them. And just because a customer is interested in something, doesn't mean they will buy it. They will only go through the time and expense involved in a purchase if it is solving a problem that is truly a top priority for them.

So, the questions (some of which are redundant, so use the ones like when they are useful) are:
1) "You're a busy person, why did you take the time out of your schedule to talk to us?"
    - Now you get them explaining why this is important to *them*
2) "Why are you here?"
3) "Tell me a little more about that? Can you be more specific?"
    - These are general purpose questions to try to get detail from a customer...
4) "How long has this been an issue / going on?"
5) "So it's not that big of a deal for you?"
    - What I really learned most about is how to get the customer to convince you if something is important to them. If you are trying to convince them, their natural position will be to push back against you. Don't be afraid to "stripline". If it's not that important to them, then better for you to know that up front and not waste your time. But if it *is* important to them, then they will start convincing you of why it is important. And now you go back to questions 3 and 4...
6) "What have you done to try to address it?"
    - You don't want to offer the same solution / approach which failed for them previously. Plus this will help determine where they are in their process...
7) "What's the impact this is having on your life?"
    - This is a harder one for me, but I learned from the sales training to connect back to people's personal priorities and experience. Because in the end, while a company buys a product, people are the ones who recommend or use the product (or don't...).
8) "Well, I imagine you have a million other things to do - how important is this one to you?"
    - Again, don't be afraid to make the customer sell to you
9) "Typically, when I talk to other <aaa's> like yourself, they talk about having problems like <bbb>. Is this an issue for you?"
    - Here if the customer isn't forthcoming about their pain points, you can try to find some. Talking about other people similar to them, often elicits a more engaged response.