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

Hackathon Weekend at Fishbowl Solutions: Bots, Cloud Content Migrations, and Lightweight ECM Apps

Hackathon 2017 captains – from L to R: Andy Weaver, John Sim, and Jake Ferm.

It’s hackathon weeked at Fishbowl Solutions. This means our resident hackers (coders) will be working as teams to develop new solutions for Oracle WebCenter, enterprise search, and various cloud offerings. The theme overall this year is The Cloud, and each completed solution will integrate with a cloud offering from Oracle, Google, and perhaps even a few others if time allows.

This year three teams have formed, and they all began coding today at 1:00 PM. Teams have until 9:00 AM on Monday, April 10th to complete their innovative solutions. Each team will then present and demo their solution to everyone at Fishbowl Solutions during our quarterly meeting at 4 PM. The winning team will be decided by votes from employees that did NOT participate in the hackathon.

Here are the descriptions of the three solutions that will be developed over the weekend:

Team Captain: Andy Weaver
Team Name – for now: Cloud ECM Middleware
Overview: Lightweight ECM for The Cloud. Solution will provide content management capabilities (workflow, versioning, periodic review notifications, etc.) to Google’s cloud platform. Solution will also include a simple dashboard to notify users of documents awaiting their attention, and users will be able to use the solution on any device as well.

Team Captain: John Sim
Team Name: SkyNet – Rise of the Bots
Overview: This team has high aspirations as they will be working on a number of solutions. The first is a bot that they are calling Atlas that will essentially query Fishbowl’s Google Search Appliance and return documents, which are stored in Oracle WebCenter, based on what was asked. For example, “show me the standard work document on on ordering food for the hackathon”. The bot will use Facebook messenger as the input interface, and if time allows, a similar bot will be developed to support Siri, Slack, and Skype.

The next solution the team will try and code by Monday will be a self-service bot to query a human capital management/human resources system to return how many days of PTO the employee has.

The last solution will be a bot that integrates Alexa, which is the voice system that powers the Amazon Echo, with Oracle WebCenter. In this example, voice commands could be used to ask Alexa to tell the user the number of workflow items in their queue, or the last document checked in by their manager.

Team Captain: Jake Ferm
Team Name – for now: Cloud Content Migrator
Overview: Jake’s team will be working on an interface to enable users to select content to be migrated across Google Drive, Microsoft OneDrive, DropBox, and the Oracle Documents Cloud Service. The goal with this solution is to enable with as few clicks as possible the ability to, for example, migrate content from OneDrive to the Oracle Documents Cloud Service. They will also be working on ensuring that content with larger file sizes can be migrated in the background so that users can carry on with other computer tasks.

Please check back on Tuesday, April 11th for a recap of the event and details on the winning solution. Happy hacking!

Taco bar to fuel the hackers!

 

The post Hackathon Weekend at Fishbowl Solutions: Bots, Cloud Content Migrations, and Lightweight ECM Apps appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

Mindbreeze Partnership Brings GSA Migration Path for Customers

This morning Fishbowl announced a new partnership with Mindbreeze bringing additional enterprise search options to our customers. As a leading provider of enterprise search software, Mindbreeze serves thousands of customers around the globe spanning governments, banks, healthcare, insurance, and educational institutions. Last Friday, Gartner released the 2017 Insight Engines Magic Quadrant; Mindbreeze has been positioned highest for Ability to Execute.

With the sunsetting of the Google Search Appliance announced last year, Fishbowl has been undergoing an evaluation of alternatives to serve both new and existing customers looking to improve information discovery. While Fishbowl will continue to partner with Google on cloud search initiatives, we feel Mindbreeze InSpire provides a superior solution to the problems faced by organizations with large volumes of on-premise content. In addition to on-premise appliances, Mindbreeze also provides cloud search services with federation options for creating a single, hybrid search experience. We’re excited about the opportunity this partnership brings to once again help customers get more value from the millions of unstructured documents buried in siloed systems across the enterprise—particualrly those stored in Oracle WebCenter and PTC Windchill.

In the coming months, we’ll be expanding our connector offerings to integrate Mindbreeze Inspire with Oracle WebCenter Content and PTC Windchill. Mindbreeze InSpire is offered as an on-premise search appliance uniting information from varied internal data sources into one semantic search index. As a full-service Mindbreeze partner, Fishbowl will provide connectors, appliance resale, implementation services, and support for our customers. To learn more about Mindbreeze, GSA migration options, or beta access to our Mindbreeze connectors, please contact us.

The post Mindbreeze Partnership Brings GSA Migration Path for Customers appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

Monitoring

DBMS2 - Sun, 2017-03-26 06:16

A huge fraction of analytics is about monitoring. People rarely want to frame things in those terms; evidently they think “monitoring” sounds boring or uncool. One cost of that silence is that it’s hard to get good discussions going about how monitoring should be done. But I’m going to try anyway, yet again. :)

Business intelligence is largely about monitoring, and the same was true of predecessor technologies such as green paper reports or even pre-computer techniques. Two of the top uses of reporting technology can be squarely described as monitoring, namely:

  • Watching whether trends are continuing or not.
  • Seeing if there are any events — actual or impending as the case may be — that call for response, in areas such as:
    • Machine breakages (computer or general metal alike).
    • Resource shortfalls (e.g. various senses of “inventory”).

Yes, monitoring-oriented BI needs investigative drilldown, or else it can be rather lame. Yes, purely investigative BI is very important too. But monitoring is still the heart of most BI desktop installations.

Predictive modeling is often about monitoring too. It is common to use statistics or machine learning to help you detect and diagnose problems, and many such applications have a strong monitoring element.

I.e., you’re predicting trouble before it happens, when there’s still time to head it off.

As for incident response, in areas such as security — any incident you respond to has to be noticed first Often, it’s noticed through analytic monitoring.

Hopefully, that’s enough of a reminder to establish the great importance of analytics-based monitoring. So how can the practice be improved? At least three ways come to mind, and only one of those three is getting enough current attention.

The one that’s trendy, of course, is the bringing of analytics into “real-time”. There are many use cases that genuinely need low-latency dashboards, in areas such as remote/phone-home IoT (Internet of Things), monitoring of an enterprise’s own networks, online marketing, financial trading and so on. “One minute” is a common figure for latency, but sometimes a couple of seconds are all that can be tolerated.

I’ve posted a lot about all this, for example in posts titled:

One particular feature that could help with high-speed monitoring is to meet latency constraints via approximate query results. This can be done entirely via your BI tool (e.g. Zoomdata’s “query sharpening”) or more by your DBMS/platform software (the Snappy Data folks pitched me on that approach this week).

Perennially neglected, on the other hand, are opportunities for flexible, personalized analytics. (Note: There’s a lot of discussion in that link.) The best-acknowledged example may be better filters for alerting. False negatives are obviously bad, but false positives are dangerous too. At best, false positives are annoyances; but too often, alert fatigue causes you employees to disregard crucial warning signals altogether. The Gulf of Mexico oil spill disaster has been blamed on that problem. So was a fire in my own house. But acknowledgment != action; improvement in alerting is way too slow. And some other opportunities described in the link above aren’t even well-acknowledged, especially in the area of metrics customization.

Finally, there’s what could be called data anomaly monitoring. The idea is to check data for surprises as soon as it streams in, using your favorite techniques in anomaly management. Perhaps an anomaly will herald a problem in the data pipeline. Perhaps it will highlight genuinely new business information. Either way, you probably want to know about it.

David Gruzman of Nestlogic suggests numerous categories of anomaly to monitor for. (Not coincidentally, he believes that Nestlogic’s technology is a great choice for finding each of them.) Some of his examples — and I’m summarizing here — are:

  • Changes in data format, schema, or availability. For example:
    • Data can completely stop coming in from a particular source, and the receiving system might not immediately realize that. (My favorite example is the ad tech firm that accidentally stopped doing business in the whole country of Australia.)
    • A data format change might make data so unreadable it might as well not arrive.
    • A decrease in the number of approval fields might highlight a questionable change in workflow.
  • Data quality NULLs or malformed values might increase suddenly, in particular fields and data segments.
  • Data value distribution This category covers a lot of cases. A few of them are:
    • A particular value is repeated implausibly often. A bug is the likely explanation.
    • E-commerce results suddenly decrease, but only from certain client technology configuration. Probably there is a bug affecting only those particular clients.
    • Clicks suddenly increase from certain client technologies. A botnet might be at work.
    • Sales suddenly increase from a particular city. Again this might be fraud — or more benignly, perhaps some local influencers have praised your offering.
    • A particular medical diagnosis becomes much more common in a particular city. Reasons can range from fraud, to a new facility for certain kinds of tests, to a genuine outbreak of disease.

David offered yet more examples of significant anomalies, including ones that could probably only be detected via Nestlogic’s tools. But the ones I cited above can probably be found via any number of techniques — and should be, more promptly and accurately than they currently are.

Related links

Categories: Other

Replacing the “V” in Oracle ADF’s MVC design pattern with Oracle JET or other front end framework

This post was written by Fishbowl’s own John Sim – our resident Oracle User Experience expert. From front-end design to user journeys and persona mapping; John has helped numerous customers over 14 years enhance their desktop and mobile experiences with Oracle WebCenter. John is also an Oracle ACE, which recognizes leaders for their technical expertise and community evangelism.

One of our goals at Fishbowl is to continuously enhance and evolve the capabilities of WebCenter for both developers and clients with new tooling capabilities and pre-built custom components that are essential and not available today as part of the OOTB Oracle solution.

We have taken all of our collective knowledge and IP over the years since WebCenter PS3 and created the “Portal Solution Accelerator” previously known as “Intranet In A Box” that takes WebCenter Portal and it’s capabilities to the next level for creating Digital Workplace Portals.

We have taken all of our collective knowledge and IP over the years since WebCenter PS3 and created the “Portal Solution Accelerator” previously known as “Intranet In A Box” that takes WebCenter Portal and it’s capabilities to the next level for creating Digital Workplace Portals.

Today I’m going to cover one of the benefits of using our Portal Solution Accelerator: Replacing the “V” in ADFs MVC design pattern. This enables third party developers, web design agencies, marketers (with basic web design skills) to use other libraries and front end frameworks of their choosing such as Oracle JET, Angular, React, Vue, and Bootstrap – to name a few. By using a different front end library such as JET, you will be able to create more modern and dynamic responsive portals, widgets, and portlets with little to no experience of developing with ADF. You will also be able to leverage the benefits of ADF Model Controller and WebCenter’s Personalisation, Security, Caching and Mashup integration capabilities with other solutions like Oracle E-Business Suite (EBS) and Business Intelligence (BI) on the back end.

So, let’s take a closer look at the Portal Solution Accelerator in the following diagram. You can see it is made up of 2 core components – our back end PSA (Portal Solution Accelerator) component and our front end SPA (Single Page Application) component architecture. One of the things we decided early on is to separate the back end and front end architecture to allow for SPA front end components to be platform agnostic and allow them to work as a Progressive Web App and work on other platforms outside of Portal. This enables us to deploy SPA front end components directly onto BI to provide additional charting capabilities through their narrative components to EBS, SharePoint, and Liferay, as well as onto the cloud. This provides the potential for a hybrid on-premise Portal to Oracle Cloud (Site Cloud Service) Content Experience platform enabling reuse of our portal components and security on the Cloud.

To find out more about our Portal Solution Accelerator head over to our website – https://www.fishbowlsolutions.com/services/oracle-webcenter-portal-consulting/portal-solution-accelerator/

Lets go into a quick dive into WebCenter Portal Taskflows and our Single Page Application (SPA) architecture.

WebCenter Portal – allows you to create Widgets (ADF Taskflows) that can easily be dragged and dropped onto a page by a contributor and can work independently or alongside another taskflow. The interface View is currently generated at the back end with Java processes and can be easily optimised to enable support of adaptive applications. However, you should be aware that this model is very server process intensive.

  • Pros
    • If you know ADF development it makes it extremely fast to create connected web applications using the ADF UI.
    • The ADF generated HTML/JS/CSS UI supports Mobile and desktop browsers.
    • The UI is generated by the application allowing developers to create applications without the need for designers to be involved.
  • Cons
    • If you don’t know ADF or have a UI designed by a third party that does not align with ADFs UI capabilities , it can be very challenging to create complex UI’s using ADF tags, ADF Skins and ADFs Javascript framework.
    • It is a bad practice to combine mix and match open source libraries with ADF tags like jQuery or Bootstrap not supported by Oracle with ADF. This limits the reuse of the largely available open source to create dynamic interactive components and interfaces such as a Carousel etc.
    • It also can be very hard to brand, and is also very server process intensive.

Single Page Applications –  are essentially browser generated applications with Javascript that use AJAX to quickly and easily update and populate the user interface to create fluid and responsive web apps. Instead of the server processing and managing the DOM generated and sent to the client, the client’s browser processes and generates and caches the UI on the fly.

  • Pros
    • All modern front end frameworks allow you to create Single Page Applications and tie into lots of open source front end solutions and interfaces.
  • Cons
    • Can be hard to create Modular Isometric Universal JS applications.
    • You also need to test across browsers and devices your application is looking to support.
    • The front end application can get very large if not managed correctly.

The Portal Solution Accelerator.

What we have done with PSA is create a framework that provides the best of both worlds allowing you to create Modular Single Page Application taskflows that can be dragged and dropped onto a WebCenter Portal page. This allows your web design teams and agencies to manage and develop the front end quickly and effectively with any frameworks and standard HTML5, CSS, and Javascript. You can also use Groovy scripts or Javascript with (Oracle Nashorn) on the server side to create Isometric javascript taskflow applications.

Please note – you cannot create a taskflow that leverages both ADFs View model and our framework together. You can however create 1 taskflow that is pure ADF and drop it on the same page as a taskflow that has been created with a custom front end such as angular using our Portal Solution Accelerator View to replace ADF view. This enables you to use existing OOTB WebCenter Portal taskflows and have them work in conjunction with custom built components.

How Does it work?

Within WebCenter Portal in the composer panel where you can drag and drop in your taskflows onto a page there is a custom taskflow – Fishbowl Single Page Application.

Drop this onto the page and manage its parameters. Here is a quick screenshot of a sample taskflow component for loading in Recent News items.

The Template parameters points to a custom SPA frontend javascript component you would like to load in and inject into the taskflow. You can define custom parameters to pass to this component and these parameters can be dynamic ADF variables via the template parameter panel. The SPA component then handles the magic loading in the template, events, JS libraries CSS and images to be generated from within the taskflow.

Within the SPA API there are custom methods we have created that allow you to pass AJAX JSON calls to the ADF backend groovy or javascript code that enable the app to work and communicate with other services or databases.

ADF Lifecycle… Timeouts.

One of things that often comes up when we present our solution with others who have attempted to integrate JET applications with WebCenter portal is how do you manage the lifecycle and prevent ADF timeouts. For example, if you stay on the same WebCenter Portal page for some time working on a single page application you will get a popup saying you will be automatically logged out. Remember our Portal Solution Accelerator is a taskflow. We are using a similar ADF message queue to pass JSON updates to the ADF lifecycle when a user is working on a complex modular single page application so we don’t run into timeout issues.

Getting out of deployment hell (as well)!!!

One of the downsides with ADF development is having to build your ADF application and deploy stop and start the server to test and find there is a bug that needs to be fixed. And then go through the entire process again. Trust me – it is not quick!

Once you have our framework deployed you can easily deploy / upload standard Javascript Templates, CSS and groovy scripts to Apache or OHS that are automatically consumed by our ADF Taskflow. There is no stop start test. Just upload your updates and refresh the browser!!

I hear Oracle is working to integrate JET with ADF.

Yes, but it’s not there today.
Plus you’re not stuck to just JET with our framework. You can use React or any front end framework or library and you get the benefits of all the additional components, apps, tooling that the Portal Solution Accelerator provide.

Futures

Our next key release that we are working on is to fully support Progressive Web Application Taskflow Development. To find out more on what a progressive web app is head over to google – https://developers.google.com/web/progressive-web-apps/checklist

 

The post Replacing the “V” in Oracle ADF’s MVC design pattern with Oracle JET or other front end framework appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

PTC Windchill Success Story: The Benefits of Moving from PDM to PLM

PTC Windchill Success Story: The Benefits of Moving from PDM to PLM A Prominent Furniture Manufacturer deploys Fishbowl’s System Generated Drawing Automation to Increase Efficiencies with their Enterprise Part deployment within PTC Windchill

Our client has numerous global manufacturing facilities and is using PTC Windchill to streamline eBOM and mBOM processes. However, not all modifications to parts information propagates automatically/accurately at the drawing level. Updating plant specific drawings with enterprise part information was a time-consuming process that was manual, error prone, full of delays and diverted valuable engineering resources away from their value-added work.

The client desired a go-forward approach with their Windchill PLM implementation that would automatically update this critical enterprise part information. They became aware of our System Generated Drawing solution from a presentation at PTC LiveWorx. From the time of first contact the Fishbowl Solutions team worked to deliver a solution that helped them realize their vision.

BUSINESS PROBLEMS
  • Manufacturing waste due to ordering obsolete or incorrect parts
  • Manufacturing delays due to drawing updates needed for non-geometric changes – title block, lifecycle, BOM, as well as environmental/regulatory compliance markings, variant designs, etc.
  • Manually updating product drawings with plant specific parts information took away valuable engineering time
SOLUTION HIGHLIGHTS
  • Fishbowl’s System Generated Drawing Automation Systematically combines data from BOM, CAD, Drawing/Model, Part Attributes and enterprise resource planning (ERP) systems
  • Creates complete, static views of drawings based on multiple event triggers
  • Creates a template-based PDF that is overlaid along with the CAD geometry to produce a final document that can be dynamically stamped along with applicable lifecycle and approval information
  • Real-time watermarking on published PDFs
RESULTS

Increased accuracy of enterprise parts information included on drawings reduced product manufacturing waste
Allowed design changes to move downstream quickly, allowing a increase in design to manufacturing operational efficiencies

 

“Fishbowl’s System Generated Drawing Automation solution is the linchpin to our enterprise processes. It provides us with an automated method to include, update and proliferate accurate parts information throughout the business. This automation has in turn led to better data integrity, less waste, and more process efficiencies.” -PTC Windchill Admin/Developer

 

For more information about Fishbowl’s solution for System Generated Drawing Automation Click Here

The post PTC Windchill Success Story: The Benefits of Moving from PDM to PLM appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

Pages

Subscribe to Oracle FAQ aggregator - Other