Other

Upgrading to Oracle WebCenter Content or Portal 12c: If not now, when?

Fishbowl Solutions will be kicking off a webinar series starting next Thursday, August 3rd. Our first webinar topic will be “5 Key Reasons to Upgrade to Oracle WebCenter Content or Portal 12c”. Why did we pick this topic, and why is this topic relevant now? Those are both good questions, especially if you are a well-informed WebCenter customer and you know that 12c was released almost 2 years ago.

To answer those questions, please let me start by stating that Fishbowl Solutions has performed many WebCenter upgrades over the years. While each one may have been different in size and scope, we have seen some common reasons/themes emerge from what drove customers to start their upgrade when they did.

Why upgrade to WebCenter 12c Now?
  • Get Current with Support and Maintenance
    • Premier and Extended support for 10g customers has elapsed. Most of the customers we talk to know this, but they might not know that they can do an upgrade directly from 10g to 12c. When you consider that Premier support for WebCenter Content and Portal 11g elapses in December of 2018, it makes sense to go directly to 12c instead of 11g. You can review Oracle’s Support Policies for Fusion Middleware here.
  • Explore Cloud Options for Content Management
    • With the release of 12c, Oracle introduced ways to integrate and share content between Oracle WebCenter on premise and the Oracle Content and Experience Cloud. This provided an easy way for organizations to share and collaborate on documents. If your organization is still deciding on your roadmap for content management – on premise, hybrid, cloud first – 12c provides the capabilities to explore use cases for the cloud while maintaining your content on premise.
  • Content and System Consolidation
    • Some legacy WebCenter customers come to the realization that they have too many instances of the system in place, as well as disparate/duplicate content being managed. Instead of trying to audit each one of their individual systems and fix or change any metadata issues, security groups, etc., they decide that doing an upgrade rectifies a lot of these problems, and enables them to get rid of content no longer needing management or retention.
  • Growing List of Environment & Technology Dependencies
    • Perhaps your organization wants to move the latest version of Oracle Database, but you can’t because your legacy WebCenter system utilizes an older version. Unless you upgrade WebCenter, your organization as a whole may be impacted by not being able to utilize the newest version of associated or dependent technologies.
  • User Expectations – Better User Experience
    • WebCenter Content and Portal 12c provide a better user experience for users and administrators. Since organizations want everyone to experience these better interfaces, they start to consider who the actual users of the system are, and they build an experience designed for each of those user personas. So while the upgrade to 12c would have improved the overall experience, organizations use the upgrade to design the best experience possible to ensure widespread adoption and overall use.

We will discuss each of these in more detail during the webinar next Thursday. You can find more information and register for the webinar here.

We hope you can join us.

 

The post Upgrading to Oracle WebCenter Content or Portal 12c: If not now, when? appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

Protecting Financial Data with Oracle WebCenter and Adobe LiveCycle

For over 15 years, Oracle WebCenter has been used by organizations to store, manage, and retain their high-value content. During that time, Fishbowl has helped customers leverage the system to solve many common and unique content management problems. We want to share some of those success stories with you, with the hope that they will help you form new ideas on how to further leverage WebCenter in your organization. Starting today, we will be publishing an “Oracle WebCenter case study of the week “. These case studies will highlight the ways customers are using WebCenter to solve their business problems and drive new process efficiencies.

This week’s customer case study details a global manufacturer of aluminum rolled products. This company came to Fishbowl in search of a solution to make access to payroll information much more available to employees and financial officers, as well as secure the information provided. Fishbowl utilized Oracle WebCenter Imaging & Capture and Adobe LiveCycle to satisfy this content management use case, and also help the customer save around $75,000.

Business Drivers
  • Reduce costly distribution processes involving printing and mailing over 30,000 pages of reports per year.
  • Make access to payroll information much more readily available to employees and financial auditors.
  • Ensure payroll data stored in Oracle WebCenter is highly secure.
Solution Summary
  • Fishbowl implemented WebCenter Capture and Imaging to scan and manage over a dozen types payroll-related reports including payroll closing, direct deposits, W-4s, and garnishments.
  • Imaged documents output to directory where security policies are applied using Adobe Live Cycle’s Information Rights module. This further ensures unauthorized document access.
  • Documents with security information uploaded and stored in existing Oracle WebCenter Content instance and available for viewing by authenticated users.
Oracle WebCenter and Adobe LiveCycle

Document flow from capture with WebCenter to securing content with Adobe Information Rights Mangement.

Customer Benefits
  • Reduced estimated yearly cost of $75,000 to print and mail over 30,000 payroll-related documents.
  • Ensured that sensitive employee data cannot be seen by unauthorized users.
  • Created a much more accessible and simple Payroll processing system to manage and retain the company’s 16,000+ documents.

 

The post Protecting Financial Data with Oracle WebCenter and Adobe LiveCycle appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

The Future of Content Management: Oracle Content & Experience Cloud

What is the Content and Experience Cloud?

Content and Experience Cloud (CEC) is Oracle’s cloud platform solution for content management and delivery. It brings together Oracle’s Documents Cloud Service (Content) and Oracle’s Sites Cloud Service (Experience) to make a centrally managed platform for your business to contribute, collaborate, and share its content. It sets out to solve many of the headaches associated with content management solutions of the past and present, including:

  • Poor user experience
  • Security concerns
  • Limited access to content and collaboration

This can be drawn as a parallel to Oracle’s motto throughout marketing their Documents Cloud Service: “Simple, Secure, Everywhere”.

In this post, I’m going to detail how Content and Experience Cloud meets each of these challenges, describing some of the features available. I’ll also give an overview of some of the custom development efforts I’ve achieved in the past few weeks, and what kind of enterprise applications could be developed using similar approaches.

Solving the Problems with Traditional Content Management Systems – Including Oracle WebCenter.

User Experience – Low user adoption and poor user experience have been major challenges facing legacy content management systems. Oracle Content & Experience Cloud aims to remedy some of these problems in a number of ways.

  • Mobile, tablet, and desktop access:
    • Oracle adopted a mobile-forward design pattern for CEC interfaces to adjust for devices that can be used anywhere.
    • View, edit, and manage files from any of these devices with the applications Oracle has provided. All desktop and mobile application downloads can be found together on the “Download Apps” page of your CEC service interface, while mobile apps can also be found on both major mobile app markets (Android App and iPhone App).
  • Share files or folders simply, with the ability to assign access levels to limit what can be done to the content.
  • Conversations can be started about folders, files, or a separate topic altogether.
    • Annotations can be made on specific parts of a document.
    • Documents can be attached to conversations.
    • Conversations can be accessed from the web, desktop, and mobile apps.
  • Integrations exist out of the box with programs like Microsoft Word and Excel for syncing documents or spreadsheets to the cloud. A UI overlay will appear on the program, visually confirming the document as it syncs to the cloud, and expands to provide users actions like viewing content access history and versions, starting or viewing the document’s conversation, or sharing the document with other members or with anyone by generating public links. Additional actions will also exist in the file menus, allowing users to manage nearly everything about their documents without needing to leave the editor.

Security – A concern of many businesses considering cloud content management is the safety of their files. Oracle secures files through a multi-layered approach.

  • Access to the CEC service requires a username and password managed by a service administrator.
  • Files are encrypted through SSL while in storage and transit to the cloud.
  • Content owners have access control to the content and folders, which can be customized for different tiers of access. Users who are given access to a file in a folder will not have access to the other files that exist within the folder.
  • Service admins have the option to configure virus scans on files upon upload to the cloud. Infected files will be quarantined from the system.
  • Passcodes can be set for mobile devices accessing the cloud. Any files downloaded from the cloud will additionally require authentication to the CEC app in order to be decrypted.
  • Websites can have security applied to control:
    • Individual user/group membership to the published site.
    • Who can see the site when it is (un)published.
    • Who can see or interact with secured content on the site.
  • CEC also include access to analytics, auditing and automatic backups.

Access to Content, and Collaboration – Productivity can suffer when content is difficult to access, or hard to find. Content and Experience Cloud provides availability to content anywhere, with streamlined methods of sharing and collaboration.

  • The CEC interface gives users the ability to rapidly collaborate internally or externally by sharing content with other members, or creating public links to folders or files.
  • Mobile, tablet, and desktop access out of the box allows users to view and manage content on the go.
  • Content can be worked on without internet access, and can be synced to the cloud once you regain connectivity.
  • Workflow and review processes allow content to easily and efficiently get published.
  • Conversations allow users to comment on files, folders, or digital assets (including the ability to highlight and annotate specific areas of text, and attach files to your comments).
Customizing Your Experience

Oracle provides several expanding development resources that can be used to customize sites on CEC. The modular structure of the site components, and use of modern web libraries and frameworks like RequireJS, KnockoutJS, and Mustache templating help streamline the process of site development, and create a more responsive and rich experience for the end user. I’ve developed a couple proof of concept examples which can serve as a stepping stone to custom enterprise components that are either static, or dynamically accessing files housed in the cloud service.

Custom Component #1: Update Static Content without Coding

Using some of Oracle’s development documentation as a base, the first component I created demonstrates the ability to update static page content through custom settings without touching the code. It utilizes the SitesSDK, which provides a set of functions to integrate custom components with the Content and Experience Cloud. These functions are particularly helpful in providing storage and retrieval of custom settings used to configure components on the page.

For example, when the component is first set on the page, it will load the default settings values, and render them to the template. While editing the site, you can access the settings in the dropdown menu located on the top right of the component.

Custom settings were defined for each of the titles and descriptions of the tile elements. By simply updating the input text for each of these fields in the form and pressing enter, the values update immediately on the component within the page. Moreover, when I am happy with the changes I can click “Save” and “Publish”, and those settings will be published to the site and persist for everyone until they need to be changed again. Anyone with permissions to edit the site would be able to update these values in a matter of seconds and publish the changes without any outages. You can see that updating the “Title 1” field to the value “My Title”, and the “Text 1” field to the value “My Description” will update the first tile within the component.

To demonstrate another use of custom settings, I’ve integrated a filepicker that allows the user to navigate files stored in the cloud, and select image to be displayed in the component on the page. Data returned by the SitesSDK can also give us some information on the image, which may be useful depending on the demands of your component. The image, and information about the image will also display immediately on the component so the editor of the site has a preview of the site with the updated component before publishing it to the site for everyone to see.

Custom settings provide a great way to manage elements of a page on your site that occasionally need manual changes, and don’t necessarily need to rely on pulling content dynamically from the cloud or another source. It gives site managers flexibility to make changes on the fly, and keep the site fresh and current for its audience.

Custom Component #2: Browser for Cloud Content

The second component I created utilizes Oracle’s Content Management API to build a content browser which displays previews, information, and actions on content living in the cloud. The API provides multiple endpoints to allow viewing, creating, modifying, and deleting folders and files. It can also retrieve information on users in the system. Oracle is working to extend the number and functionality of these endpoints in future releases.

In the above screenshot, you can see the documents view from the CEC interface, and the files that live in the “images” folder. Below is the screenshot of the custom component which grabs all of this information, and renders it to the site. The data returned in the responses make it possible to call for thumbnails of images and documents, as well as build actions like “View” and “Download” to open the full file on the CEC interface, or download the file respectively. This functionality can be used to create components that grab content dynamically and display it to your site as it is contributed to the cloud.

With an enterprise-level account, content administrators will have the ability to define their own structured content with access to Content Types, Content Items, Content Layouts, and Digital Assets. This allows the design of content specific to your business, and opens the door to develop components like a news feed which filters and displays only news content items in a widget on the page, or a search form which can return content filtered on any number of criteria.

Conclusion & Looking to the Future: Integrating with On-Premise and other Back-Office Applications

Content and Experience Cloud provides an ideal platform for content management in the cloud. It aggregates content, digital assets, conversations, and sites to a single location, where power users can delegate access to the people who need it, anywhere. Surface your content to sites on the cloud using custom components to build an interface that works for your business. Make updates quickly to provide always-current information without modifying site code, or taking the system offline. Oracle continues to improve and expand on the API endpoints and other development materials with future releases.

I will be working to integrate some of Fishbowl Solutions’ SPA taskflows into custom components for display on CEC Sites similar to what I’ve shown in the previous section, except the taskflow code will be hooked into an existing on-premise WebCenter Content instance to serve back content housed in a locally managed database rather than the Document Cloud Service. This will provide options to businesses looking to transition to the cloud service for benefits like site servers being hosted on the cloud, simple site/component management, and near-instant publishing, while still maintaining all the same content on-prem.

Another integration planned for future development is integration with the AuraPlayer service. AuraPlayer provides the ability to wrap existing Oracle Forms/EBS systems as web services which can eventually be surfaced on a Content and Experience Cloud site as a modern, mobile-friendly, responsive UI. With CEC already accessible by tablet and mobile devices, it stands out as a strong platform candidate.

The post The Future of Content Management: Oracle Content & Experience Cloud appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

Analytics on the edge?

DBMS2 - Fri, 2017-06-30 03:27

There’s a theory going around to the effect that:

  • Compute power is and will be everywhere, for example in cars, robots, medical devices or microwave ovens. Let’s refer to these platforms collectively as “real-world appliances”.
  • Much more data will be created on these platforms than can reasonably be sent back to centralized/cloudy servers.
  • Therefore, cloud-centric architectures will soon be obsolete, perhaps before they’re ever dominant in the first place.

There’s enough truth to all that to make it worth discussing. But the strong forms of the claims seem overblown.

1. This story doesn’t even make sense except for certain new classes of application. Traditional business applications run all over the world, in dedicated or SaaSy modes as the case may be. E-commerce is huge. So is content delivery. Architectures for all those things will continue to evolve, but what we have now basically works.

2. When it comes to real-world appliances, this story is partially accurate. An automobile is a rolling network of custom Linux systems, each running hand-crafted real-time apps, a few of which also have minor requirements for remote connectivity. That’s OK as far as it goes, but there could be better support for real-time operational analytics. If something as flexible as Spark were capable of unattended operation, I think many engineers of real-world appliances would find great ways to use it.

3. There’s a case to be made for something better yet. I think the argument is premature, but it’s worth at least a little consideration. 

There are any number of situations in which decisions are made on or about remote systems, based on models or rules that should be improved over time. For example, such decisions might be made in:

  • Machine vision or other “recognition”-oriented areas of AI.
  • Detection or prediction of malfunctions.
  • Choices as to what data is significant enough to ship back upstream.

In the canonical case, we might envision a system in which:

  • Huge amounts of data are collected and are used to make real-time decisions.
  • The models are trained centrally, and updated remotely over time as they are improved.
  • The remote systems can only ship back selected or aggregated data to help train the models.

This all seems like an awkward fit for any common computing architecture I can think of.

But it’s hard to pin down important examples of that “canonical” case. The story implicitly assumes:

  • A model is widely deployed.
  • The model does a decent job but not a perfect one.
  • Based on its successes and failures, the model gets improved.

And now we’re begging a huge question: What exactly is there that keeps score as to when the model succeeds and fails? Mathematically speaking, I can’t imagine what a general answer would be like.

4. So when it comes to predictive models executed on real-world appliances I think that analytic workflows will:

  • Differ for different (categories) of applications.
  • Rely in most cases on simple patterns of data movement, such as:
    • Stream everything to central servers and sort it out there, or if that’s not workable …
    • … instrument a limited number of test nodes to store everything, and recover the data in batch for analysis.
    • Update models only in timeframes that you’re doing a full app update/refresh.

And with that much of the apparent need for fancy distributed analytic architectures evaporates.

5. Finally, and notwithstanding the previous point: Across many use cases, there’s some kind of remote log data being shipped back to a central location. It may be the complete log. It may be periodic aggregates. It may happen only what the edge nodes regard as significant events. But something is getting shipped home.

The architectures for shipping, receiving and analyzing such data are in many cases immature. That’s obvious if there’s any kind of streaming involved, or if analysis is done in Spark. Ditto if there’s anything we might call “non-tabular business intelligence”. As this stuff matures, it will in many cases fit very well with today’s cloud thinking. But in any case — it needs to mature.

Truth be told, even the relational case is immature, in that it can easily rely on what I called:

data warehouses (perhaps really data marts) that are updated in human real-time

That quote is from a recent post about Kudu, which:

  • Is designed for exactly that use case.
  • Went GA early this year.

As always, technology is in flux.

Related links

Categories: Other

Generally available Kudu

DBMS2 - Fri, 2017-06-16 10:52

I talked with Cloudera about Kudu in early May. Besides giving me a lot of information about Kudu, Cloudera also helped confirm some trends I’m seeing elsewhere, including:

  • Security is an ever bigger deal.
  • There’s a lot of interest in data warehouses (perhaps really data marts) that are updated in human real-time.
    • Prospects for that respond well to the actual term “data warehouse”, at least when preceded by some modifier to suggest that it’s modern/low-latency/non-batch or whatever.
    • Flash is often — but not yet always — preferred over disk for that kind of use.
    • Sometimes these data stores are greenfield. When they’re migrations, they come more commonly from analytic RDBMS or data warehouse appliance (the most commonly mentioned ones are Teradata, Netezza and Vertica, but that’s perhaps just due to those product lines’ market share), rather than from general purpose DBMS such as Oracle or SQL Server.
  • Intel is making it ever easier to vectorize CPU operations, and analytic data managers are increasingly taking advantage of this possibility.

Now let’s talk about Kudu itself. As I discussed at length in September 2015, Kudu is:

  • A data storage system introduced by Cloudera (and subsequently open-sourced).
  • Columnar.
  • Updatable in human real-time.
  • Meant to serve as the data storage tier for Impala and Spark.

Kudu’s adoption and roll-out story starts:

  • Kudu went to general availability on January 31. I gather this spawned an uptick in trial activity.
  • A subsequent release with some basic security features spawned another uptick.
  • I don’t think Cloudera will mind my saying that there are many hundreds of active Kudu clusters.
  • But Cloudera believes that, this soon after GA, very few Kudu users are in actual production.

Early Kudu interest is focused on 2-3 kinds of use case. The biggest is the kind of “data warehousing” highlighted above. Cloudera characterizes the others by the kinds of data stored, specifically the overlapping categories of time series — including financial trading — and machine-generated data. A lot of early Kudu use is with Spark, even ahead of (or in conjunction with) Impala. A small amount has no relational front-end at all.

Other notes on Kudu include:

  • Solid-state storage is recommended, with a few terabytes per node.
  • You can also use spinning disk. If you do, your write-ahead logs can still go to flash.
  • Cloudera said Kudu compression ratios can be as low as 2-5X, or as high as 10-20X. With that broad a range, I didn’t drill down into specifics of what they meant.
  • There seem to be a number of Kudu clusters with 50+ nodes each. By way of contrast, a “typical” Cloudera customer has 100s of nodes overall.
  • As you might imagine from their newness, Kudu security features — Kerberos-based — are at the database level rather than anything more granular.

And finally, the Cloudera folks woke me up to some issues around streaming data ingest. If you stream data in, there will be retries resulting in duplicate delivery. So your system needs to deal with those one way or another. Kudu’s way is:

  • Primary keys will be unique. (Note: This is not obvious in a system that isn’t an entire RDBMS in itself.)
  • You can configure the uniqueness to be guaranteed either through an upsert mechanism or just by simply rejecting duplicates.
  • Alternatively, you can write code to handle duplication errors, e.g. via Spark.
Categories: Other

The data security mess

DBMS2 - Wed, 2017-06-14 08:21

A large fraction of my briefings this year have included a focus on data security. This is the first year in the past 35 that that’s been true.* I believe that reasons for this trend include:

  • Security is an important aspect of being “enterprise-grade”. Other important checkboxes have been largely filled in. Now it’s security’s turn.
  • A major platform shift, namely to the cloud, is underway or at least being planned for. Security is an important thing to think about as that happens.
  • The cloud even aside, technology trends have created new ways to lose data, which security technology needs to address.
  • Traditionally paranoid industries are still paranoid.
  • Other industries are newly (and rightfully) terrified of exposing customer data.
  • My clients at Cloudera thought they had a chance to get significant messaging leverage from emphasizing security. So far, it seems that they were correct.

*Not really an exception: I did once make it a project to learn about classic network security, including firewall appliances and so on.

Certain security requirements, desires or features keep coming up. These include (and as in many of my lists, these overlap):

  • Easy, comprehensive access control. More on this below.
  • Encryption. If other forms of security were perfect, encryption would never be needed. But they’re not.
  • Auditing. Ideally, auditing can alert you to trouble before (much) damage is done. If not, then it can at least help you do proactive damage control in the face of breach.
  • Whatever regulators mandate.
  • Whatever is generally regarded as best practices. Security “best practices” generally keep enterprises out of legal and regulatory trouble, or at least minimize same. They also keep employees out of legal and career trouble, or minimize same. Hopefully, they even keep data safe.
  • Whatever the government is known to use. This is a common proxy for “best practices”.

More specific or extreme requirements include: 

I don’t know how widely these latter kinds of requirements will spread.

The most confusing part of all this may be access control.

  • Security has a concept called AAA, standing for Authentication, Authorization and Accounting/Auditing/Other things that start with”A”. Yes — even the core acronym in this area is ill-defined.
  • The new standard for authentication is Kerberos. Or maybe it’s SAML (Security Assertion Markup Language). But SAML is actually an old, now-fragmented standard. But it’s also particularly popular in new, cloud use cases. And Kerberos is actually even older than SAML.
  • Suppose we want to deny somebody authorization to access certain raw data, but let them see certain aggregated or derived information. How can we be sure they can’t really see the forbidden underlying data, except through a case-by-case analysis? And if that case-by-case analysis is needed, how can the authorization rules ever be simple?

Further confusing matters, it is an extremely common analytic practice to extract data from somewhere and put it somewhere else to be analyzed. Such extracts are an obvious vector for data breaches, especially when the target system is managed by an individual or IT-weak department. Excel-on-laptops is probably the worst case, but even fat-client BI — both QlikView and Tableau are commonly used with local in-memory data staging — can present substantial security risks. To limit such risks, IT departments are trying to impose new standards and controls on departmental analytics. But IT has been fighting that war for many decades, and it hasn’t won yet.

And that’s all when data is controlled by a single enterprise. Inter-enterprise data sharing confuses things even more. For example, national security breaches in the US tend to come from government contractors more than government employees. (Ed Snowden is the most famous example. Chelsea Manning is the most famous exception.) And as was already acknowledged above, even putting your data under control of a SaaS vendor opens hard-to-plug security holes.

Data security is a real mess.

Categories: Other

Light-touch managed services

DBMS2 - Wed, 2017-06-14 08:14

Cloudera recently introduced Cloudera Altus, a Hadoop-in-the-cloud offering with an interesting processing model:

  • Altus manages jobs for you.
  • But you actually run them on your own cluster, and so you never have to put your data under Altus’ control.

Thus, you avoid a potential security risk (shipping your data to Cloudera’s service). I’ve tentatively named this strategy light-touch managed services, and am interested in exploring how broadly applicable it might or might not be.

For light-touch to be a good approach, there should be (sufficiently) little downside in performance, reliability and so on from having your service not actually control the data. That assumption is trivially satisfied in the case of Cloudera Altus, because it’s not an ordinary kind of app; rather, its whole function is to improve the job-running part of your stack. Most kinds of apps, however, want to operate on your data directly. For those, it is more challenging to meet acceptable SLAs (Service-Level Agreements) on a light-touch basis.

Let’s back up and consider what “light-touch” for data-interacting apps (i.e., almost all apps) would actually mean. The basics are: 

  • The user has some kind of environment that manages data and executes programs.
  • The light-touch service, running outside this environment, spawns one or more app processes inside it.
  • Useful work ensues …
  • … with acceptable reliability and performance.
  • The environment’s security guarantees ensure that data doesn’t leak out.

Cases where that doesn’t even make sense include but are not limited to:

  • Transaction-processing applications that are carefully tuned for efficient database access.
  • Applications that need to be carefully installed on or in connection with a particular server, DBMS, app server or whatever.

On the other hand:

  • A light-touch service is at least somewhat reasonable in connection with analytics-oriented data-management-plus-processing environments such as Hadoop/Spark clusters.
  • There are many workloads over Hadoop clusters that don’t need efficient database access. (Otherwise Hive use would not be so prevalent.)
  • Light-touch efforts seem more likely to be helped than hurt by abstraction environments such as the public cloud.

So we can imagine some kind of outside service that spawns analytic jobs to be run on your preferred — perhaps cloudy — Hadoop/Spark cluster. That could be a safe way to get analytics done over data that really, really, really shouldn’t be allowed to leak.

But before we anoint light-touch managed services as the NBT (Next Big Thing/Newest Bright Thought), there’s one more hurdle for it to overcome — why bother at all? What would a light-touch managed service provide that you wouldn’t also get from installing packaged software onto your cluster and running it in the usual way? The simplest answer is “The benefits of SaaS (Software as a Service)”, and so we can rephrase the challenge as “Which benefits of SaaS still apply in the light-touch managed service scenario?”

The vendor perspective might start, with special cases such as Cloudera Altus excepted:

  • The cost-saving benefits of multi-tenancy mostly don’t apply. Each instance winds up running on a separate cluster, namely the customer’s own. (But that’s likely to be SaaS/cloud itself.)
  • The benefits of controlling your execution environment apply at best in part. You may be able to assume the customer’s core cluster is through some cloud service, but you don’t get to run the operation yourself.
  • The benefits of a SaaS-like product release cycle do mainly apply.
    • Only having to support the current version(s) of the product is a little limited when you don’t wholly control your execution environment.
    • Light-touch doesn’t seem to interfere with the traditional SaaS approach of a rapid, incremental product release cycle.

When we flip to the user perspective, however, the idea looks a little better.

Bottom line: Light-touch managed services are well worth thinking about. But they’re not likely to be a big deal soon.

Categories: Other

Cloudera Altus

DBMS2 - Wed, 2017-06-14 08:12

I talked with Cloudera before the recent release of Altus. In simplest terms, Cloudera’s cloud strategy aspires to:

  • Provide all the important advantages of on-premises Cloudera.
  • Provide all the important advantages of native cloud offerings such as Amazon EMR (Elastic MapReduce, or at least come sufficiently close to that goal.
  • Benefit from customers’ desire to have on-premises and cloud deployments that work:
    • Alike in any case.
    • Together, to the extent that that makes use-case sense.

In other words, Cloudera is porting its software to an important new platform.* And this port isn’t complete yet, in that Altus is geared only for certain workloads. Specifically, Altus is focused on “data pipelines”, aka data transformation, aka “data processing”, aka new-age ETL (Extract/Transform/Load). (Other kinds of workload are on the roadmap, including several different styles of Impala use.) So what about that is particularly interesting? Well, let’s drill down.

*Or, if you prefer, improving on early versions of the port.

Since so much of the Hadoop and Spark stacks is open source, competition often isn’t based on core product architecture or features, but rather on factors such as:

  • Ease of management. This one is nuanced in the case of cloud/Altus. For starters:
    • One of Cloudera’s main areas of differentiation has always been Cloudera Manager.
    • Cloudera Director was Cloudera’s first foray into cloud-specific management.
    • Cloudera Altus features easier/simpler management than Cloudera Director, meant to be analogous to native Amazon management tools, and good-enough for use cases that don’t require strenuous optimization.
    • Cloudera Altus also includes an optional workload analyzer, in slight conflict with other parts of the Altus story. More on that below.
  • Ease of development. Frankly, this rarely seems to come up as a differentiator in the Hadoop/Spark world, various “notebook” offerings such as Databricks’ or Cloudera’s notwithstanding.
  • Price. When price is the major determinant, Cloudera is sad.
  • Open source purity. Ditto. But at most enterprises — at least those with hefty IT budgets — emphasis on open source purity either is a proxy for price shopping, or else boils down to largely bogus concerns about vendor lock-in.

Of course, “core” kinds of considerations are present to some extent too, including:

  • Performance, concurrency, etc. I no longer hear many allegations of differences in across-the-board Hadoop performance. But the subject does arise in specific areas, most obviously in analytic SQL processing. It arises in the case of Altus as well, in that Cloudera improved in a couple of areas that it concedes were previously Amazon EMR advantages, namely:
    • Interacting with S3 data stores.
    • Spinning instances up and down.
  • Reliability and data safety. Cloudera mentioned that it did some work so as to be comfortable with S3’s eventual consistency model.

Recently, Cloudera has succeeded at blowing security up into a major competitive consideration. Of course, they’re trying that with Altus as well. Much of the Cloudera Altus story is the usual — rah-rah Cloudera security, Sentry, Kerberos everywhere, etc. But there’s one aspect that I find to be simple yet really interesting:

  • Cloudera Altus doesn’t manage data for you.
  • Rather, it launches and manages jobs on a separate Hadoop cluster.

Thus, there are very few new security risks to running Cloudera Altus, beyond whatever risks are inherent to running any version of Hadoop in the public cloud.

Where things get a bit more complicated is some features for workload analysis.

  • Cloudera recently introduced some capabilities for on-the-fly trouble-shooting. That’s fine.
  • Cloudera has also now announced an offline workload analyzer, which compares actual metrics computed from your log files to “normal” ones from well-running jobs. For that, you really do have to ship information to a separate cluster managed by Cloudera.

The information shipped is logs rather than actual query results or raw data. In theory, an attacker who had all those logs could conceivably make inferences about the data itself; but in practice, that doesn’t seem like an important security risk at all.

So is this an odd situation where that strategy works, or could what we might call light-touch managed services turn out to be widespread and important? That’s a good question to address in a separate post.

Categories: Other

A Sneak Peek at Oracle’s Chatbot Cloud Service and 5 Key Factors Necessary for Bot ROI

In early May, I flew out to Oracle HQ in San Francisco for an early look at their yet-to-be released Oracle Intelligent Bots Service.  The training left me ecstatic that the technology to quickly build great chatbots is finally here. However, the question remains, can chatbots provide real value for your business?

What is a chatbot?

A chatbot is a program that simulates a conversation partner over a messaging app. It can integrate with any kind of messaging client, such as Facebook, WeChat, WhatsApp, Slack, Skype, or you could even build your own client. If you’ve been following our blog, you may have already seen the chatbot (Atlas) we built as part of our annual hackathon.

Here is an example conversation I had with Atlas recently:

Chatbot Conversations

Chatbots use Natural Language Processing and Machine Learning algorithms to take what the user said and match it up against pre-defined conversations. Understanding how chatbots recognize phrases can help determine what conversations a user could have with a bot. Here is some chatbot terminology:

  • An intent is something the users wants, and the bot maps this to an action. For example, the user might want to say some form of “Hi” to the bot, and we would want the bot to respond with a random greeting. A chatbot generally has up to 2,000 intents.
  • Utterances are examples of different phrases that represent an intent. An intent might have 10-15 utterances. The bot will be able to match statements similar to those utterances to the intent, but what a user says doesn’t have to exactly match an utterance. This is where the language processing algorithms are used.
  • Entities are key variables the bot can parse from the intent.

Suppose we are building an HR chatbot that can help users reset passwords. The goal is for our bot to understand that the user needs a password reset link, and then send the correct link to the user. Our intent could be called Password Reset. Since the user could have accounts for different services, we would need to create an entity called AccountType for our bot to parse from what the user said. AccountType could map to “Gitlab”, “WebCenter”, or “OpenAir”.

As a rough design, we could start with:

  • Intent: Password Reset
  • Utterances:
    • I’d like to reset my password.
    • How do I change my password for Gitlab?
    • I forgot my WebCenter pw, can you help?
    • Please assist me in receiving a new password.
    • Forgot my passcode for OpenAir.
    • Give me another password.
  • Entity: AccountType (Gitlab, WebCenter, OpenAir)

Intents like this one will need to be set up for a bot to know what to do when a user says something. If a user asks the bot a question it doesn’t have an intent for, it won’t know what to do and the user will get frustrated. Our bot still won’t know how to order a pizza, but it could help with password resets.

Key Factor #1: Chatbots should have a purpose

A chatbot can only answer questions it is designed to answer. If I was building an HR Help chatbot, it probably would not be able to order a pizza, rent a car for you, or check the weather. It could, for example, reset passwords, report harassment, set up a new hire, and search for policies. Once the requirements are set, developers can build, design, and test to ensure the bot has those capabilities.

This makes it important to set expectations with the user on what types of questions they can ask it, without giving the user a list of questions. Introducing a bot along with its purpose will help with this. For example, we could have the HR Help Bot, the Travel Planning bot, or the Sales Rep Info bot. If we introduced the Fishbowl Ask-Me-Anything bot, users will start asking it a lot of questions we didn’t plan for it to be able to answer.

Conversations can be more complicated than a simple back and forth, or question and answer. The capability is there (Oracle’s solution gives developers full control over a Conversational State Machine), but I have yet to explore the full capabilities.

Once a purpose and a set of intents are identified, a chatbot could be a useful tool to engage customers or employees.

Key Factor #2: Design Architecture

Bots are great for interacting with difference services. Oracle Intelligent Bot Service is designed to make it easy for developers to make REST API calls and database lookups in between parsing what the user says, and returning a response.

Here are a few things to think about when designing a bot’s architecture:

  • Integrations: What services will the bot interact with?
  • Security: Are users typing their bank account number over Facebook chat?
  • Human interaction: How will the bot flip users over to a human to help when they get frustrated?
  • Infrastructure: What will be on premise and what will be in the cloud?
  • Performance: How to minimize network requests?
Key Factor #3: Analytics

Analytics can be used to improve the bot’s capability over time and understand the impact on the company. Some companies may already have metrics around help desk call volume or customer conversion rates, and it would be interesting to compare that data from before and after a bot’s release.

Beyond that, bot analytics will be able to show the performance of the bot. Analytics could show the top questions a bot is asked but can’t answer, how many questions it answers successfully each day, and what questions it mistook for something else. Oracle’s chatbot solution will have some capabilities built in, and the platform is so flexible it will be possible to gather any data about a bot.

Key Factor #4: Bot Building Best Practices

There is a lot to do when it comes to building the bot. From setting up the infrastructure, connecting all the services, and filling out all the utterances. There are some best practices to keep in mind as well.

The bot should sound like a human. Personality can play a big role in giving users a better interaction.

As users become more familiar with chatbots, there will also be a set of questions they expect every bot to be able to answer. This list might start with:

  • Hi.
  • What do you do?
  • Are you human?
  • Help!
  • Tell me a joke.
  • How are you?

When the bot is going to run a query or API that may take a while, it is important to warn the user in advance and echo that the bot understood what the user wanted. Some apps will also support “is typing” statuses, which is another great way to show the bot is thinking.

Key Factor #5: Testing

Users have high expectations for the intelligence level of a chatbot. They expect the Machine Learning algorithms to work well, and the bot to seem smart. If the bot doesn’t meet their expectations on the first try, they are unlikely to use the bot in the future.

Testing and tuning utterances can make the difference for making a bot seem smart. The bot should be able to accurately map what a user says to the correct intent. Oracle’s chatbot solution has some nice testing capabilities around utterances and intents, and making sure what the users says maps correctly.

Chatbots are another piece of software, so it is important to do performance and user testing on it as well.

Conclusion

Chatbots are a great way to tie in a single user interface to a large variety of services, or automate repetitive conversations. There are plenty of business use cases that would benefit from a chatbot, but the ROI depends on thorough requirements gathering and using analytics to optimize the bot. That being said, companies that have already started down the path – like this Accounting Firm in Minneapolis – are seeing benefits from bots automating manual processes leading to a reduction in operating costs by 25 to 40%. Savings like this will vary across use case and industry, but overall the automation gains from a bot are there regardless of what the bot is being used for. We would love to discuss your ideas on how a chatbot could help your business. Leave a comment or contact us with any questions.

The post A Sneak Peek at Oracle’s Chatbot Cloud Service and 5 Key Factors Necessary for Bot ROI appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

Unboxing the Future of Fishbowl’s On-premise Enterprise Search Offering: Mindbreeze InSpire

Back on April 3rd, Fishbowl announced that we had formed a partner relationship with Mindbreeze to bring their industry leading enterprise search solutions to Fishbowl customers. We will offer their Mindbreeze InSpire search appliance to customers looking for an on-premise solution to search internal file shares, databases, document management systems and other enterprise repositories.

Since that announcement, we have been busy learning more about Mindbreeze InSpire, including sending some members of our development team to their partner technical training in Linz, Austria. This also includes procuring our own InSpire search appliance  so that we can begin development of connectors for Oracle WebCenter Content and PTC Windchill. We will also begin using InSpire as the search system for our internal content as well.

Fishbowl’s Mindbreeze InSpire appliance arrived last week, and we wanted to share a few pics of the unboxing and racking process. We are very excited about the value that Mindbreeze InSpire will bring to customers, including the time savings of searching, and in many cases not finding, high-value information. Consider these stats:

  • 25% of employee’s time is spent looking for information – AIIM
  • 50% of people need to search 5 or more sources – AIIM
  • 38% of time is spent unsuccessfully searching and recreating content – IDC

Stay tuned for more information on Fishbowl’s software and services for Mindbreeze InSpire. Demos of the system are available today, so contact us below or leave a comment here if you would like to see it in action.

 

 

The post Unboxing the Future of Fishbowl’s On-premise Enterprise Search Offering: Mindbreeze InSpire appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

How to Configure Microsoft IIS with Oracle WebCenter

I was setting up a Oracle WebCenter 12c Suite in a local development environment utilizing a Windows Server 2012 R2 Operating System with a Microsoft SQL Server. Instead of using a OHS (Oracle HTTP Server), I wanted to try using Microsoft IIS (Internet Information Services) to handle the forwarding of sub-sites to the specified ports.  Since the Oracle applications run specified ports (ex. 16200 for Content Server), when a user requests the domain on the default ports (80 and 443) on browsers it won’t redirect to the content server – example: www.mydomain.com/cs vs. www.mydomain.com:16200/cs. The reason I chose to use IIS was because it is already a feature built-in to Windows Server, and thus is one less application to manage.

That being said, IIS and OHS perform in the same manner but are setup and configured differently based on requirements.  Oracle provides documentation about using the Oracle Plug-in for Microsoft IIS, but the content is pretty outdated on the Oracle site.  The page first references IIS 6.0, which was released with Windows Server 2003 in April 2003.  It has now ended its support as of July 14th, 2015. Lower on the page, they show steps for IIS on Windows Server 2012 R2, which got me started.  In the next part of this post, I will review the steps I took to get all functionality working, as well as the limitations/flaws I incurred.

Step 1: Install IIS on the Server

The first part was to install IIS on the server.  In Server 2012, open the Server Manager and select Add Roles and Features.  From there select the option to add the IIS components.

Step 2: Select Default Web Site

Once IIS has been installed, open it and select the Default Web Site.  If you right-click and select edit bindings, you can see the default site is binded to port 80, which is what we want since port 80 is the default port for all web applications.

Step 3: Select Application Pools

Following the instructions from Oracle, download the plug-in and put it in the system folder close to the root level on the desired drive.  For this blog, I have it in C:\IISProxy\.  For each server (Content Server, Portal, etc) you need to perform configurations in IIS.  Open IIS and navigate to the Application Pools section.  Select Add Application Pool and create a pool with a specific name for each server.  There needs to be separate application pools for specific port forwarding to work correctly.

Step 4: Configure Properties

Once created, open Windows Explorer and create a folder inside IISProxy called “CS.”  Copy all he plug-in files into the CS folder.  Now open the iisproxy.ini file and configure the properties to match your environment.  Make sure to configure the Debug parameter accordingly to tailor on your environment.

Step 5: Select the Created Application Pool

Open IIS and select the Default Web Site option.  Right-click and select Add Application.  Add the Alias name and select the Application Pool created above.  Set the physical path to the folder created above and make sure the connection is setup for pass-through authentication.

Step 6: Set Up Handler Mappings

Once OK has been selected, the application should now be displayed on the tree on the left.  The next step is to setup handler mappings for how IIS will handle requests coming in.  Click on the “cs” application you just created and on the main display there should be a Handler Mappings icon to click. Double click the icon.  This is where we will setup the routing of static files vs content server requests. On the right side, click the “Add Script Map” icon.  Add the request path of “*” and add the folder path to the iisproxy.dll.  Open the request restrictions and verify the “Invoke handler…” checkbox is unchecked.  Open the access tab and select the Script radio button.  Click OK and verify the mapping has been applied.

    

Step 7: Map Static Files

Next, we will setup the mapping for static files.  Click “Add Module Mapping” Add “*” for the request path, “StaticFileModule,DefaultDocumentModule,DirectoryListingModule” for the Module and give it a name.  Open request restrictions and select the file or folder radio option.  Navigate to the access tab and select the read radio button.  Click OK and verify the mapping was applied.

  

Step 8: Verify Mapping Execution

After the mappings have been setup, we need to verify they are executed in the correct order.  Do this by going to the back to the handler mappings screen and clicking “View Ordered List”

Step 9: Restart the IIS Server

After these steps are completed, restart the IIS server.  To do this, open command-prompt as an administrator and type “iisreset”.  Once restarted, you now should be able to view the content server on port 80.  If you have other redirects you would like to perform, you can perform the same steps above with a different name (ex. Portal, Inbound Refinery, Console, Enterprise Manager, etc).

With Oracle’s tutorial out-of-date and missing key steps, it was difficult to determine how to set everything up.  With some trial and error and investigation, I think I outlined in the 9 steps above how to help you quickly setup IIS with the WebCenter Suite on a Windows environment so specific port numbers are not needed.  Obviously with any technology decision, application evaluations should take place to determine if IIS or OHS is a better fit. Good luck, and leave a comment if you have any questions or need further clarification.

The post How to Configure Microsoft IIS with Oracle WebCenter appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

Fishbowl Innovation: Cloud 2 Cloud Content Migrations for Oracle Content and Experience Cloud (Oracle Documents Cloud Service) and Other Cloud Storage Providers

Migrating content between systems takes a lot of time, and without methods to bulk load or schedule the process may proceed incrementally as users facilitate the process whenever they have time. But what if they don’t have time? What if they had been using an unauthorized cloud storage system, or the system they were using is being decommissioned by the company. How can they quickly move high value content to another system?

For example, let’s say a business division within a company is using Microsoft OneDrive as a collaboration and document sharing system. Then, that company decides that OneDrive is no longer an accepted or company preferred file sync and share system, and employees should use Oracle Documents Cloud Service. For the division using OneDrive, such a declaration could cause some delays in any of their processes that rely on that content. An example of this could be the inability to collaborate with 3rd-parties – such as a law firm – on documents being reviewed by both parties. The process of downloading copies of the content and uploading them to another system could take a significant amount of time, but until that content gets moved over to, in this case Oracle Documents Cloud Service, critical processes could be severely delayed.

The hackathon event team for this solution set out to provide a web-based interface to enable single item and batch migrations between systems to be migrated and removed from one system or the other or just copied. As more and more of these easy-to-use document sharing solutions enter an organization, such a tool could be quite beneficial to ensure content can be easily accessed and shared across systems.

One important point to note about such a solution, and the use of cloud storage systems across an organization, is that governance and acceptable use policies for cloud storage/enterprise file sync and share systems need to be clearly defined. Although the solution developed by Fishbowl could help an organization migrate content to the standardized cloud storage solution, companies need to be proactive with monitoring employee use as they may try and utilize other systems. This can pose security risks – both from a sharing of confidential information perspective and opening up new avenues for cyber attacks. To combat this, solutions like Oracle’s Cloud Access Security Broker (CASB) could be leveraged to provide visibility into the cloud systems being used, and provide security monitoring and threat detection across your entire cloud technology stack.

The screenshot below shows the simple user interface to select available systems and begin migrating content. Fishbowl has customers using this cloud migration tool today, so if you are interested in learning how it could help you expedite your cloud to cloud content migrations, contact us now – info@fishbowlsolutions.com or 952-465-3400.

Here are the technologies the team used to develop Cloud 2 Cloud. If you would like more information on the technical specifics of the solutions, please leave a comment and we will get back to you ASAP.

  • REST API
  • Mustache – web template system for mobile and web applications
  • Debugging tools Fiddler and Postman

 

Cloud 2 Cloud Migration.

The post Fishbowl Innovation: Cloud 2 Cloud Content Migrations for Oracle Content and Experience Cloud (Oracle Documents Cloud Service) and Other Cloud Storage Providers appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

Fishbowl Innovation: ATLAS – Intelligent Chatbot and Virtual Assistant for Oracle Applications

If you haven’t heard about chatbots yet, you will soon. Today’s leading technology companies – Apple, Google, Amazon, Microsoft, Oracle – all have bot development strategies proceeding this year. Why? To answer that question, let’s first define the two types of bots being used today. The first is called a “virtual assistant”, which is effectively Apple’s Siri or Amazon’s Alexa. Virtual assistants can help you find or remember things, or even buy things (Dom the pizza bot). These bots are powered by machine learning, which means they will get smarter over time as more people use them and its artificial intelligence learns what people are asking it to do.

The other type of bot is a messaging bot, which have become pretty prevalent within Facebook Messenger. This type of bot can be used for customer service to answer simple questions such as “what are your store hours”? The responses returned by the bot have all been programmed, so if it gets asked a question outside of its pre-defined responses it won’t be able to interact with the user.

So, back to the question, why are bots so popular? Because bots, in many cases, can provide answers to questions or facilitate a purchase faster than a human can. Consider this stat by Deloitte – a minute of work for a bot is equal to 15 minutes of work for a human. Additionally, because messaging apps are ubiquitous (1.3 billion people use them), companies have developed bots to engage and market to users 24 x 7. To look at this from a business perspective, consider the following use cases:

  • Requesting pricing and availability of a product
    • During  a sales meeting, you could type the following into a messaging service on your phone or laptop “what is the pricing and availability of product widget ABC”? The bot would then perform a query for this product in the ERP system and return your answer – “product widget ABC is $299 and can ship today.”
  • Logging your billable hours into a project management system
  • Providing quick answers to simple questions such as “how many PTO days do I have left”?
  • Resetting your password
  • Asking for specific content to be delivered to you, such as a product brochure, price list, or instruction manual
  • Ordering new business cards, which was the example that Larry Ellison shared at Oracle OpenWorld 2016

With each of the examples above, the time savings of not having to log onto a system and perform multiple clicks to facilitate such requests could be huge – especially for employees on the go, such as sales staff, that need information quickly. All the examples above are also opportunities to reduce the amount of calls and service requests to your help desk. According to this press release from Kore Inc., about 20% of IT help desk calls are still related to password resets, an inefficiency that can cost businesses between $15 to $20 per call.

The chatbot that was developed during Fishbowls hackathon was positioned as a personal assistant in the cloud for document management. The team showed how Atlas could be used with a team collaboration system like Slack, and integrated with Oracle WebCenter to retrieve documents based on simple input from the user. For example, “find a document – invoice 123456”. Then filter by user jsim. Here are the technologies the team used to develop and integrate Atlas:

Here some screenshots of this use case and the bot also running within Fishbowl’s demo instance of Oracle WebCenter Portal to show an example of employee self-service. Contact us today for more information on ATLAS and intelligent chat bots – info@fishbowlsolutions.com or 952-465-3400. If you would like more technical information on how Atlas was built and our approach to developing intelligent chatbots for Oracle applications, leave us a comment and we will respond directly.

 

ATLAS returning results for document named Invoice 123456.

 

Atlas filtering results returned by author jsim.

 

ATLAS performing employee self-service actions in WebCenter Portal.

The post Fishbowl Innovation: ATLAS – Intelligent Chatbot and Virtual Assistant for Oracle Applications appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

Fishbowl Innovation: Controlled Document Management in the Cloud

Fishbowl Solutions has been delivering enterprise content management (ECM) solutions based on Oracle WebCenter for over 17 years. WebCenter is the only ECM solution we’ve built a consulting practice around and have software solutions for. Its comprehensive capabilities have satisfied numerous customer use cases including employee portals, contract management, and quality control. That being said, we understand customers have other use cases for storing and managing their high value content, and more recently that includes document storage in the cloud.

To satisfy use cases where companies manage the majority of their content with on-premise solutions like WebCenter but may need simple, cloud-bases solutions to manage specific documents that are part of a controlled process – contracts, policies and procedures, etc., Fishbowl developed a proof of concept (POC) for lightweight ECM in the cloud. This solution would provide a low barrier to entry for customers wanting content management capabilities through a simplified user interface that includes a dashboard, document list, and profile driven metadata fields. The other obvious benefit this solution would provide is a much lower overall cost due to a cloud-based subscription model, and less need for development resources and system administrators.

From a development and technology perspective, the team working on this POC discussed how workflow, revisioning, security/permissions, would all need be included to make this a viable solution. Here are some of the technologies they leveraged to develop the solution:

The following are some screenshots of the solution as it appears running on the Google Cloud Platform, but the flexibility of the technologies used to develop the solution means it could integrate with other cloud platforms like Oracle Content and Experience Cloud. Contact us today if you would like more information – info@fishbowlsolutions.com or 952-465-3400. If you are interested in learning more and discussing the technologies involved in the development, please leave a comment and we will get some dialogue going there.

 

The post Fishbowl Innovation: Controlled Document Management in the Cloud appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

Hackathon Weekend Recap: Oracle Chatbots, Cloud Content Migrations, and Controlled Document Management in the Cloud

Wow! It’s always amazing what can be accomplished in a weekend when you give people limitless supplies of calories and caffeine, as well as a hard deadline. Couple that with a lot of competitive fire and the drive to innovate, and you just might be able to produce THREE, new software solutions and spark new product ideas. That’s what transpired during the weekend of April 7th as Fishbowl Solutions held its annual hackathon event. Over 250 hours were spent across three teams as they architected, designed, and developed their solutions. Teams then had to present the business use case for the solution and show a demo to the Fishbowl employees that did not participate in the hackathon. The non-participants then voted for the winner. What follows is a recap of the solutions developed in order of where they placed after the voting.

Controlled Document Management in the Cloud

Team Members: Andy Weaver, Lauren Beatty, Nate Scharber, Brent Genereaux, Amy Mellinger
Solution Summary: The goal for this team was to develop a controlled document management solution in the cloud. Essentially, the team wanted to produce a lightweight, cloud-based version of Fishbowl’s flagship controlled document management solution called ControlCenter. Their demo showed how easy it would be to provision users for the cloud instance, and then the simple steps users would take to begin uploading, reviewing and managing documents in the cloud.

For more information on this solution including some business use cases and screenshots, read this blog post — Fishbowl Innovation: Controlled Document Management in the Cloud

Team Controlled Document Management in the Cloud

ATLAS – Intelligent Chatbot

Team Members: John Sim, Danny Lesage, Amanda Jovanovic, Matt Hornung, Sean Deal
Solution Summary: This team was all about bots. What’s a bot? Well, it’s software that can run automated tasks over an Internet connection. Fishbowl’s resident Oracle UX expert, John Sim, is from the United Kingdom and while John was visiting he shared how Dom the pizza bot enables customers to order pizzas from Domino’s using Facebook Messenger. Sadly, Dom can only facilitate such requests in the United Kingdom currently, but this provided a great example of a bot for personal use (and made everyone hungry for pizza). However, Fishbowl isn’t in the business of “chat commerce” for food, so the team set out to develop a chatbot that could help users find content stored in Oracle WebCenter.

For more information on this solution including some business use cases and screenshots, read this blog post — Fishbowl Innovation: ATLAS – Intelligent Chatbot and Virtual Assistant for Oracle Applications

Team ATLAS: Intelligent Chatbot

Cloud 2 Cloud Content Migrations

Team Members: Tim Gruidl, Jake Ferm, Dan Haugen, Tom Johnson
Solution Summary: The premise of this solution was based on the proliferation of cloud storage/file sync and share systems within an organization and how it would take many steps to migrate or copy content between them. For example, moving or copying content from Microsoft OneDrive to Oracle Documents Cloud Service.

For more information on this solution including some business use cases and screenshots, read this blog post — Fishbowl Innovation: Cloud to Cloud Content Migrations for Oracle Content and Experience Cloud (Oracle Documents Cloud Service) and Other Cloud Storage Providers

Team Cloud to Cloud Content Migrations

 

This was Fishbowl’s sixth annual hackathon event, and the bar raises every year with the innovative solutions that get created. Here are some more pictures from this year’s event.

 

The post Hackathon Weekend Recap: Oracle Chatbots, Cloud Content Migrations, and Controlled Document Management in the Cloud appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

Proactively Manage Contracts, Policies, Web Assets, and Sales Content stored in Oracle WebCenter with Fishbowl’s Subscription Notifier

Oracle WebCenter Content is a great tool for keeping your company’s content organized, but it can be difficult to proactively manage new, updated, and expiring content. For example:

  • Users check out content and forget to check it back in
  • Plans and policies require reviews at varying intervals
  • Managers change, and metadata needs to be changed for several content items

In 2005, Fishbowl launched the initial release of Subscription Notifier to help solve these problems and many more. It was also specifically designed to satisfy these content management use cases:

  • Web Content Management: Ensure proactive updates to web content for optimal SEO.
  • Contract Management: Enable contract management knowledge workers to get ahead of contract renewals with scheduled email notifications at 90, 60, and 30 days.
  • Policy and Procedure Management: Trigger a workflow process to alert users of content requiring review annually to ensure company policies and procedures are up to date.
  • Sales Enablement: Provide key stakeholders with better visibility into new or updated sales or marketing material.

Today, Subscription Notifier is sold as part of the Admin Suite and included in our controlled document management solution – ControlCenter. Due to its value-add content management capabilities, Subscription Notifier has become one of our most popular products. We continue to make enhancements to the product, and just last month, we released version 5.0, which brings some customer-requested capabilities.

Before I provide an overview of what’s new in version 5.0, I want to start with a brief introduction on what Subscription Notifier actually does. Subscription Notifier is a query-based email notification and scheduled job utility that enables proactive content management in WebCenter Content. With an easy-to-understand subscription builder, you can quickly create subscriptions based on any business rule in your content server – not just expiration. You can schedule the subscription to run on an hourly, daily, weekly, monthly, or yearly basis, or let it run without a schedule to notify users as soon as possible. It also enables you to specify users and/or aliases to be notified of content that matches the subscription query, either directly by username or by using a metadata field, email address, or Idocscript. Other options are available to further customize the subscription, but the core is that simple – specify a schedule, include the users to notify, build the query, and you’re done!

As I highlighted in the policy and procedure management use case above, subscriptions can be set up as periodic reviews, which will put content items into the specified user’s “Documents Under Review” queue as the item’s expiration date (or any other specified date) approaches. Content remains in the queue until one of three actions are taken: “No Change Necessary”, allowing the user to update the review date without updating the content item; “Check Out and Revise”, updating the content item and its review date; or “Approve Expiration”, which lets the content item become expired. The review queue appears in both the core WebCenter UI and ControlCenter. Periodic reviews are one of the most useful features of Subscription Notifier, enabling companies to stay on top of expiring content and ensure that content is always kept up to date.

Beyond notifications and reviews, Subscription Notifier can also empower data synchronization through Pre-query Actions and Side Effects. These are extra effects that are triggered either once before the query executes (Pre-query Actions) or once for every content item that matches the subscription query (Side Effects). Custom Pre-query Actions and Side Effects can be created, and Subscription Notifier comes packaged with some useful Side Effects. These include actions to update metadata, delete old revisions, check-out and check-in, update an external database, and resubmit a content item to Inbound Refinery for conversion. Subscriptions don’t need to send emails – you can set up subscriptions to only trigger these actions.

Now that I’ve gone over the core functionality of Subscription Notifier, I’d like to highlight our latest release, version 5.0, by discussing some of this release’s new features:

 

Simplified Subscriptions for End-Users

Simplified Subscription Builder Interface

By specifying a role in the component configuration, non-administrators can now create subscriptions in Subscription Notifier. Users with restricted access can create subscriptions in a restricted view, which both simplifies the view for the non-tech-savvy and ensures security so that end-users do not have access to more than they should. Administrators can still manage all subscriptions, but users with restricted access can only manage subscriptions they have created themselves. This has been a highly-requested feature, so we’re excited to finally bring the requests to fruition!

 

Type-ahead User Fields

Type-Ahead User Fields Screenshot

Taking a feature from ControlCenter, user and alias fields on the subscription creation page will now offer type-ahead suggestions based on both usernames and full names. No longer do you need to worry about the exact spelling of usernames – these validated fields will do the remembering for you! In addition to greatly improving the look and feel of the subscription creation page, these newly improved fields also enhance performance by cutting out the load time of populating option lists.

 

Job Run History Job Run History Report Screenshot

Administrators can view an audit history of subscription job executions, allowing them to view when subscriptions are evaluated. The table can be sorted and filtered to allow for detailed auditing of Subscription Notifier. By inspecting an individual job run, you can see which content items matched the query and who was notified. If a job run failed, you can easily view the error message without delving into the content server logs.

 

Resubmit for Conversion Side Effect

Sometimes Inbound Refinery hits a snag, and content items will fail conversion for no apparent reason. This new Side Effect will allow you to resubmit content items to Inbound Refinery to attempt conversion again. You can specify the maximum number of times to attempt the re-conversion, and the queue of items being added to the conversion queue is throttled, so you don’t need to worry about clogging up Inbound Refinery with conversion requests.

 

Enforce Security on a Per-Subscription Basis

Subscription Notifier has allowed you to specify whether to enforce content security when sending emails, making sure users only are notified on content they have permissions to read or letting users be notified of everything. Previously, this was a component configuration setting, but now this setting can be changed on each subscription individually.

That about wraps up this spotlight on Subscription Notifier. I hope I was able to share how a simple yet powerful notification and subscription solution for Oracle WebCenter supports multiple use cases for proactive content management. At its core, Subscription Notifier helps organizations keep their content up-to-date while providing visibility into the overall content creation process. Its powerful side-effects capabilities can be used to trigger workflows, update metadata, delete old revisions and more – providing more proactive methods for users to best manage high-value content in an organization. If you’re interested in purchasing Subscription Notifier or upgrading your existing copy, please contact us for more info.

The post Proactively Manage Contracts, Policies, Web Assets, and Sales Content stored in Oracle WebCenter with Fishbowl’s Subscription Notifier appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

Interana

DBMS2 - Mon, 2017-04-17 05:10

Interana has an interesting story, in technology and business model alike. For starters:

  • Interana does ad-hoc event series analytics, which they call “interactive behavioral analytics solutions”.
  • Interana has a full-stack analytic offering, include:
    • Its own columnar DBMS …
    • … which has a non-SQL DML (Data Manipulation Language) meant to handle event series a lot more fluently than SQL does, but which the user is never expected to learn because …
    • … there also are BI-like visual analytics tools that support plenty of drilldown.
  • Interana sells all this to “product” departments rather than marketing, because marketing doesn’t sufficiently value Interana’s ad-hoc query flexibility.
  • Interana boasts >40 customers, with annual subscription fees ranging from high 5 figures to low 7 digits.

And to be clear — if we leave aside any questions of marketing-name sizzle, this really is business intelligence. The closest Interana comes to helping with predictive modeling is giving its ad-hoc users inspiration as to where they should focus their modeling attention.

Interana also has an interesting twist in its business model, which I hope can be used successfully by other enterprise software startups as well.

  • For now, at no extra charge, Interana will operate its software for you as a managed service. (A majority of Interana’s clients run the software on Amazon or Azure, where that kind of offering makes sense.)
  • However, presumably in connection with greater confidence in its software’s ease of administration, Interana will move this year toward unbundling the service as an extra-charge offering on top of the software itself.

The key to understanding Interana is its DML. Notes on that include:

  • Interana’s DML is focused on path analytics …
    • … but Interana doesn’t like to use that phrase because it sounds too math-y and difficult.
    • Interana may be the first company that’s ever told me it’s focused on providing a better nPath. :)
  • Primitives in Interana’s language — notwithstanding the company’s claim that it never ever intended to sell to marketing departments — include familiar web analytics concepts such as “session”, “funnel” and so on. (However, these are being renamed to more neutral terms such as “flow” in an upcoming version of the product.)
  • As typical example questions or analytic subjects, Interana offered:
    • “Which are the most common products in shopping carts where time-to-checkout was greater than 30 minutes?”
    • Exactly which steps in the onboarding process result in the greatest user frustration?
  • The Interana folks and I agree that Splunk is the most recent example of a new DML kicking off a significant company.
  • The most recent example I can think of in which a vendor hung its hat on a new DML that was a “visual programming language” is StreamBase, with EventFlow. That didn’t go all that well.
  • To use Founder/CTO Bobby Johnson’s summary term, the real goal of the Interana language is to describe a state machine, specifically one that produces (sets of) sequences of events (and the elapsed time between them).

Notes on Interana speeds & feeds include:

  • Interana only promises data freshness up to micro-batch latencies — i.e., a few minutes. (Obviously, this shuts them out of most networking monitoring and devops use cases.)
  • Interana thinks it’s very important for query response time to max out at a low number of seconds. If necessary, the software will return approximate results rather than exact ones so as to meet this standard.
  • Interana installations and workloads to date have gotten as large as:
    • 1-200 nodes.
    • Trillions of rows, equating to 100s of TBs of data after compression/ >1 PB uncompressed.
    • Billions of rows/events received per day.
    • 100s of 1000s of (very sparse) columns.
    • 1000s of named users.

Although Interana’s original design point was spinning disk, most customers store their Interana data on flash.

Interana architecture choices include:

  • They’re serious about micro-batching.
    • If the user’s data is naturally micro-batched — e.g. a new S3 bucket every few minutes — Interana works with that.
    • Even if the customer’s data is streamed — e.g. via Kafka — Interana insists on micro-batching it.
  • They’re casual about schemas.
    • Interana assumes data arrives with some kind of recognizable structure, via JSON, CSV or whatever.
      • Interana observes, correctly, that log data often is decently structured.
        • For example, if you’re receiving “phone home” pings from products you originally manufactured, you know what data structures to expect.
        • Interana calls this “logging with intent”.
      • Interana is fine with a certain amount of JSON (for example) schema change over time.
      • If your arriving data truly is a mess, then you need to calm it down via a pass through Splunk or whatever before sending it to Interana.
    • JSON hierarchies turn into multi-part column names in the usual way.
    • Interana supports one level of true nesting, and one level only; column values can be “lists”, but list values can’t be list themselves.

Finally, other Interana tech notes include:

  • Compression is a central design consideration …
    • … especially but not only compression algorithms designed to deal with great sparseness, such as run-length encoding (RLE).
    • Dictionary compression, in a strategy that is rarer than I once expected it to be, uses a global rather than shard-by-shard dictionary. The data Interana expects is of low-enough cardinality for this to be the better choice.
    • Column data is sorted. A big part of the reason is of course to aid compression.
    • Compression strategies are chosen automatically for each segment. Wholly automatically, I gather; you can’t tune the choice manually.
  • As you would think, Interana technically includes multiple data stores.
    • Data first hits a write-optimized store. Unlike the case of Vertica, this WOS never is involved in answering queries.
    • Asynchronously, the data is broken into columns, and banged to “disk”.
    • Asynchronously again, the data is sorted.
    • Queries run against sorted data, sorting recent blocks on-the-fly if necessary.
  • Interana lets you shard different replicas of the data according to different shard keys.
  • Interana is proud of the random sampling it does when serving approximate query results.
Categories: Other

Automate and expedite bulk loading into Windchill.

Data migration is the least attractive part of a PDM/PLM project.  Take a look at our latest infographic to learn how to speed up bulk loading data from Creo, Autodesk Inventor and AutoCAD, SolidWorks, Documents, WTParts and more into Windchill PDMLink and Pro/INTRALINK.

More information can also be found in our previous posts:

Approaches to Consider for Your Organization’s Windchill Consolidation Project

Consider Your Options for SolidWorks to Windchill Data Migrations

 

The post Automate and expedite bulk loading into Windchill. appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

Analyzing the right data

DBMS2 - Thu, 2017-04-13 07:05

0. A huge fraction of what’s important in analytics amounts to making sure that you are analyzing the right data. To a large extent, “the right data” means “the right subset of your data”.

1. In line with that theme:

  • Relational query languages, at their core, subset data. Yes, they all also do arithmetic, and many do more math or other processing than just that. But it all starts with the set theory.
  • Underscoring the power of this approach, other data architectures over which analytics is done usually wind up with SQL or “SQL-like” language access as well.

2. Business intelligence interfaces today don’t look that different from what we had in the 1980s or 1990s. The biggest visible* changes, in my opinion, have been in the realm of better drilldown, ala QlikView and then Tableau. Drilldown, of course, is the main UI for business analysts and end users to subset data themselves.

*I used the word “visible” on purpose. The advances at the back end have been enormous, and much of that redounds to the benefit of BI.

3. I wrote 2 1/2 years ago that sophisticated predictive modeling commonly fit the template:

  • Divide your data into clusters.
  • Model each cluster separately.

That continues to be tough work. Attempts to productize shortcuts have not caught fire.

4. In an example of the previous point, anomaly management technology can, in theory, help shortcut any type of analytics, in that it tries to identify what parts of your data to focus on (and why). But it’s in its early days; none of the approaches to general anomaly management has gained much traction.

5. Marketers have vast amounts of information about us. It starts with every credit card transaction line item and a whole lot of web clicks. But it’s not clear how many of those (10s of) thousands of columns of data they actually use.

6. In some cases, the “right” amount of data to use may actually be tiny. Indeed, some statisticians claim that fewer than 10 data points may be enough to get a good model. I’m skeptical, at least as to the practical significance of such extreme figures. But on the more plausible side — if you’re hunting bad guys, it may not take very many separate facts before you have good evidence of collusion or fraud.

Internet fraud excepted, of course. Identifying that usually involves sifting through a lot of log entries.

7. All the needle-hunting in the world won’t help you unless what you seek is in the haystack somewhere.

  • Often, enterprises explicitly invest in getting more data.
  • Keeping everything you already generate is the obvious choice for most categories of data, but some of the lowest-value-per-bit logs may forever be thrown away.

8. Google is famously in the camp that there’s no such thing as too much data to analyze. For example, it famously uses >500 “signals” in judging the quality of potential search results. I don’t know how many separate data sources those signals are informed by, but surely there are a lot.

9. Few predictive modeling users demonstrate a need for vast data scaling. My support for that claim is a lot of anecdata. In particular:

  • Some predictive modeling techniques scale well. Some scale poorly. The level of pain around the “scale poorly” aspects of that seems to be fairly light (or “moderate” at worst). For example:
    • In the previous technology generation, analytic DBMS and data warehouse appliance vendors tried hard to make statistical packages scale across their systems. Success was limited. Nobody seemed terribly upset.
    • Cloudera’s Data Science Workbench messaging isn’t really scaling-centric.
  • Spark’s success in machine learning is rather rarely portrayed as centering on scaling. And even when it is, Spark basically runs in memory, so each Spark node is processing all that much data.

10. Somewhere in this post — i.e. right here :) — let’s acknowledge that the right data to analyze may not be exactly what was initially stored. Data munging/wrangling/cleaning/preparation is often a big deal. Complicated forms of derived data can be important too.

11. Let’s also mention data marts. Basically, data marts subset and copy data, because the data will be easier to analyze in its copied form, or because they want to separate workloads between the original and copied data store.

  • If we assume the data is on spinning disks or even flash, then the need for that strategy declined long ago.
  • Suppose you want to keep data entirely in memory? Then you might indeed want to subset-and-copy it. But with so many memory-centric systems doing decent jobs of persistent storage too, there’s often a viable whole-dataset management alternative.

But notwithstanding the foregoing:

  • Security/access control can be a good reason for subset-and-copy.
  • So can other kinds of administrative simplification.

12. So what does this all suggest going forward? I believe:

  • Drilldown is and will remain central to BI. If your BI doesn’t support robust drilldown, you’re doing it wrong. “Real-time” use cases are not exceptions to this rule.
  • In a strong overlap with the previous point, drilldown is and will remain central to monitoring. Whatever monitoring means to you, the ability to pinpoint the specific source of interesting signals is crucial.
  • The previous point can be recast as saying that it’s crucial to identify, isolate and explain anomalies. Some version(s) of anomaly management will become a big deal.
  • SQL and “SQL-like” languages will remain integral to analytic processing for a long time.
  • Memory-centric analytic frameworks such as Spark will continue to win. The data size constraints imposed by memory-centric processing will rarely cause difficulties.

Related links

Categories: Other

Webinar Recording: Improve WebCenter Portal Performance by 30% and get out of Oracle ADF Development Hell

In this webinar Fishbowl’s Director of Solutions, Jerry Aber, shared how leveraging modern web development technologies like Oracle JET, instead of ADF taskflows, can dramatically improve the performance of a portal – including the overall time to load the home page, as well as making content or stylistic changes.

Jerry also shared how to architect a portal implementation to include a caching layer that further enhances performance. These topics were all be backed by real world customer metrics that Jerry and Fishbowl team have seen through numerous, successful customer deployments.

If you are a WebCenter Portal administrator and are frustrated with challenges of improving your ADF-centric portal, this webinar is for you. Watch to learn how to overhaul the ADF UI, which will lead to less development complexities and ensure more happy users.

 

The post Webinar Recording: Improve WebCenter Portal Performance by 30% and get out of Oracle ADF Development Hell appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

Pages

Subscribe to Oracle FAQ aggregator - Other