Search Results

Search found 17041 results on 682 pages for 'architecture and design'.

Page 406/682 | < Previous Page | 402 403 404 405 406 407 408 409 410 411 412 413  | Next Page >

  • Introduction to WebCenter Personalization Server

    - by cindy.mcmullen(at)oracle.com
    IntroductionThe next release of Oracle WebCenter will include a new product:  the Personalization Server, developed by team members of Boulder Labs.  This team is comprised largely of the previous WebLogic Portal group, with several members having nearly 10 years' experience in personalization technologies.Customization is not PersonalizationCustomization is more of a static application behavior, such as retrieving and applying user preferences.  Personalization, on the other hand, delivers dynamic content based on run-time knowledge of the user.  It uses technology to accommodate the differences between individuals, producing the "a-ha!" experience.    WebCenter Personalization Server (WCPS) is able to integrate with and leverage many systems (property service, content management, user profile information, a recommendation service) to bring together a uniquely personalized user experience.Stay TunedUpcoming posts will discuss WCPS architecture, the Property Service, and the configuration and invocation of the OOTB "providers" such as CMIS, Activity Graph, and People Connections.    

    Read the article

  • Is RAC One Node Certified for E-Business Suite?

    - by Steven Chan
    Oracle Real Application Clusters (RAC) is a cluster database with a shared cache architecture that supports the transparent deployment of a single database across a pool of servers.  RAC is certified with both Oracle E-Business Suite Release 11i and 12.  We publish best-practices documentation for specific combinations of EBS + RAC versions.  For example, if you were planning on implementing RAC for EBS 12, you would use this documentation:Using Oracle 11g Release 2 Real Application Clusters with Oracle E-Business Suite Release 12 (Note 823587.1)Many of the largest E-Business Suite users in the world run RAC today, including Oracle; see this Oracle R12 case study for details.A number of customers have recently asked whether RAC One Node can be used with the E-Business Suite.  From the RAC website:Oracle RAC One Node is a new option available with Oracle Database 11g Release 2. Oracle RAC One Node is a single instance of an Oracle RAC-enabled database running on one node in a cluster.

    Read the article

  • "What Happens in Vegas…" - Oracle to Present at Gartner AADI Conference

    - by Bruce Tierney
    “What Happens in Vegas, Stays in Vegas”…with the exception of insights to help you jumpstart your cloud integration and mobile enablement including these three highlights from the upcoming Oracle session “Simplifying Integration - The Cloud and Mobile Prerequisite”: How To Simplify Complex Application Infrastructures – Strategies for how to simplify while expanding on-premise to integrate with SaaS applications, Oracle Cloud, and mobile enablement. Presented by Tim Hall, Oracle’s Senior Director of Product Management Customer Case Study On Cloud Integration And Mobile App Enablement – Hear BMC present tips on how they used Oracle SOA Suite to integrate with Salesforce, Eloqua, WebEx, and more than 10 other SaaS applications. Also covered will be their smartphone and tablet enablement implementation. Oracle’s Integration Solution – A brief overview of how Oracle’s core integration products provide a unified approach to the many components of integration and mobile enablement. Image: BMC's Cloud Integration using Oracle SOA Suite Stop by the Oracle booth to chat with us and join the Oracle Session on Wed. Nov 28th at 9:45 a.m. For more information about Gartner Application Architecture, Development & Integration (AADI) conference at Caesar’s Palace November 27-29 2012, see this link

    Read the article

  • How Does One Make a Sitemap for a Flex Website?

    - by Laxmidi
    Hi, I've got a Flex website and I'm not sure how to make a sitemap for it. For a standard HTML page, sitemaps are straight forward. As Flex sites use a "pageless" architecture, I'm not sure what I should do. If anyone has any suggestions, please let me know. UPDATE: As I understand it, Google doesn't look at anything after the # in a URL. So in a deeplinked Flex site, Google wouldn't see the second page-- where it reads view=12 in the sample sitemap below. Or does Google handle sitemaps differently? Should I go ahead and make a sitemap with all of the deeplinked URLS: http://brainpinata.com/#view=12, http://brainpinata.com/#view=4, etc.           http://www.brainpinata.com/       2010-12-01       weekly       1.0           http://brainpinata.com/#view=12       2010-12-01       weekly       1.0     Thank you. -Laxmidi

    Read the article

  • LI .Net User Group June 3rd, 2010 Meeting with Sam Abraham

    - by Sam Abraham
    It was a pleasure seeing old friends and meeting new ones at the LI .Net User Group Meeting on Thursday June 3rd 2010. I was very impressed as more than 35 developers were present which highlights the buzz MVC is creating with its latest release. We covered an introduction to MVC then went on to discuss new features in MVC2. I enjoyed the good dialogue among the group as we discussed how MVC can fit side-by-side with an existing WebForms paradigm and how MVC Support for TDD can dramatically shift Architecture practices as we know them. Looking forward to meeting you all next time I am on the Island. Below are some photos of the event. --Sam Abraham Site Director - West Palm Beach .Net User Group

    Read the article

  • Cloud and On-Premises Applications Integration using Oracle Integration Adapters

    - by Ramkumar Menon
    See how Oracle Integration adapters will continue to provide connectivity and harness information from diverse enterprise applications and technologies—both on-premises and in the cloud on our Exclusive Openworld session - "CON8642 - Cloud and On-Premises Applications Integration, Using Oracle Integration Adapters ". The session will cover the trends and themes of Application Integration today, and describe how Oracle's suite of Adapters help you integrate and extend your Applications using a Service Oriented Architecture today and in the future. Session Speakers Vikas Anand - Director, Product Management Ramkumar Menon - Senior Product Manager, SOA Suite Stephen Mcritchie - SOA Suite Product Development Schedule: Wednesday, Oct 3, 1:15 PM - 2:15 PM - Moscone South - 310, San Francisco

    Read the article

  • Is Information Technology really Engineering?

    - by RPK
    While travelling I met a mathematician who was sitting near me. In a discussion he said: "...there is nothing like engineering in IT or rather programming". A true engineering is what Architecture is, what Electrical and Mechanical is. It made me think and I was puzzled. A percent of my brain agreed also because in Indian Army, there is no subject like Computer Engineering in the Engineering Corps. They don't consider programming as engineering. This is what I heard few years back, I don't know what Indian Army thinks now. What are your views?

    Read the article

  • Minecraft shows black screen on watt-os 64 after logon

    - by uffe hellum
    Minecraft appears to launch with oracle java 7, but crashes after logon. $ java -Xmx1024M -Xms512M -cp ./minecraft.jar net.minecraft.LauncherFrame asdf Exception in thread "Thread-3" java.lang.UnsatisfiedLinkError: /home/uffeh/.minecraft/bin/natives/liblwjgl.so: /home/uffeh/.minecraft/bin/natives/liblwjgl.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch) at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1939) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1864) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1825) at java.lang.Runtime.load0(Runtime.java:792) at java.lang.System.load(System.java:1059) at org.lwjgl.Sys$1.run(Sys.java:69) at java.security.AccessController.doPrivileged(Native Method) at org.lwjgl.Sys.doLoadLibrary(Sys.java:65) at org.lwjgl.Sys.loadLibrary(Sys.java:81) at org.lwjgl.Sys.(Sys.java:98) at net.minecraft.client.Minecraft.F(SourceFile:1857) at aof.(SourceFile:20) at net.minecraft.client.Minecraft.(SourceFile:77) at anw.(SourceFile:36) at net.minecraft.client.MinecraftApplet.init(SourceFile:36) at net.minecraft.Launcher.replace(Launcher.java:136) at net.minecraft.Launcher$1.run(Launcher.java:79)

    Read the article

  • New Exadata Book Available Soon

    - by Rob Reynolds
    Oracle Press is set to released the first book on data warehouse performance and Exadata on March 14th. Achieving Extreme Performance with Oracle Exadata , by my colleagues Rick Greenwald, Robert Stackowiak, Maqsood Alam, and Mans Bhuller will be available at your favorite booksellers next week. I've seen a sneak peak of the content in this book and its a great way to fully grasp the power of Exadata and how to best apply it to achieve extreme data warehouse performance. From the publisher's description: Achieving Extreme Performance with Oracle Exadata and the Sun Oracle Database Machine is filled with best practices for deployments, hardware sizing, architecting the database machine environments for maximum availability, and backup and recovery. Oracle Database 11gR2 features used within these offerings, as well as migration options and paths for Oracle and non-Oracle databases to Oracle Exadata are covered. This Oracle Press guide also discusses architecture, administration, maintenance, monitoring, and tuning of Oracle Exadata Storage Servers and the Sun Oracle Database Machine. If your company is considering Exadata, or if you need more horsepower out of your data warehouse, I highly recommend grabbing a copy of this book next week.

    Read the article

  • What is a name for a job where you do system analysis, project management and data diagramming?

    - by David Archer
    In the last 4 months I've been able to manage a team and step away from the coding for a bit. I've been planning the system in full (both System Analysis and project managing, alongside action and data diagramming) writing the technical documentation, the code's architecture, keeping track of the other guys doing the actual coding, QA, bug reports and dealing with clients. I had to take two days' training on node.js just to see if it would be suitable for a project we were considering. Is there a name for this job? Project Manager and Systems Architect don't quite seem to have the same stuff, and IT manager seems way off. I only want to know so that I can get some qualification towards it and try to move into this kind of work full-time.

    Read the article

  • Managing Multiple dedicated servers centrally using a Web GUI tools?

    - by Sampath
    Application Architecture I am having a single ruby on rails application code running with multiple instances (ie. each client having identical sub domains) running on a multiple dedicated server using phusion passenger + nginx. sub domains setup done using vhost option in nginx passenger module. For Example server 1 serving 1 - 100 client with identical sub domains www.client1.product.com upto www.client100.product.com server 2 serving 101 - 200 client with identical sub domains www.client101.product.com upto www.client200.product.com server 3 serving 201 - 300 client with identical sub domains www.client201.product.com upto www.client300.product.com What my question is i need to centrally manage all my N dedicated servers using an gui tool I am looking for Web GUI tool to manage tasks like 1) backup all mysql databases automatically from all dedicated servers and send it to an some FTP backup drive 2) back files and folders from all dedicated servers and send it to an some FTP backup drive 3) need to manage firewall (CSF http://configserver.com/cp/csf.html) centrally for all dedicated servers 4) look to see server load , bandwidth used in graphical manner for all N no of dedicated servers Note: I am prefer to looking for an open source solution

    Read the article

  • APress Deal of the Day 13/August/2014 - Pro ASP.NET MVC 4

    - by TATWORTH
    Originally posted on: http://geekswithblogs.net/TATWORTH/archive/2014/08/13/apress-deal-of-the-day-13august2014---pro-asp.net-mvc.aspxToday’s $10 Deal of the Day from APress at http://www.apress.com/9781430242369 is Pro ASP.NET MVC 4. Adam Freeman is an excellent author and I recommend this book to all my readers. “The ASP.NET MVC 4 Framework is the latest evolution of Microsoft’s ASP.NET web platform. It provides a high-productivity programming model that promotes cleaner code architecture, test-driven development, and powerful extensibility, combined with all the benefits of ASP.NET.”

    Read the article

  • Identity R2 - Experts Podcast Series

    - by Tanu Sood
    To follow up on the Identity Management R2 launch, a series of podcasts were recorded with subject matter experts from customer organizations, our partners and Oracle’s PM team to discuss key trends, R2 capabilities, implementation best practices and more. Below is a roll-up of the podcast series that is available on Fusion Middleware radio. R2 Podcasts:   ·         Designing the Next-Generation Identity Platform Vadim Lander, Oracle Highlights: Common architecture model, integration, interoperability and the driving factors behind R2 innovation IT Departments are shifting their Identity Management strategy to be able to support mobile, cloud and social applications. Oracle has anticipated this shift and has built a product roadmap to take advantage of this focus. Join Vadim as he discusses the design strategy behind the latest 11gR2 release and talks about how IDM services have to evolve to meet this new challenge.   ·         BETA Customer Perspective on R2 Ravi Meduri, Kaiser Permanente Highlights: R2 scalability and high availability In this podcast Ravi discusses the new features in 11gR2 that he is most interested in, including High Availability options for Access Management, multi-datacenter architecture, and what it was like working with the Oracle product team during the BETA program.   ·         Partner Perspective on R2 Rex Thexton, PricewaterhouseCoopers Highlights: Usability Enhancements for Users and Administrators A lot of new usability features went into the 11gR2 release making this the most business friendly IDM release to date. In this podcast Rex Thexton, Managing Director from PwC, talks about some of the new UI changes for both end users and administrators, and also about the new connector creation framework.   Access Request Updates in R2 Marc Boroditsky, Oracle Highlights: Access request User Interface innovations A lot of changes have been made to the Access Request user interface in the latest version of Oracle Identity Manager 11gR2. A real focus has been put on making the request process more business user friendly, and a lot of new customization capability has been added for the IT administrators. Hear Marc discuss the updated UI, and explain how administrators will be able to customize OIM to meet their company's requirements   ·         Oracle Optimized System for Oracle Unified Directory (OOS4OUD) Nick Kloski, Oracle Highlights: New Optimized System configuration for Unified Directory One of the new features in 11gR2 is the availability of an Optimized System configuration for Oracle Unified Directory. Oracle engineers installed the OUD software onto off the shelf hardware and then created a performance tuned configuration. Join us as we talk to Nick Kloski, Infrastructure Solutions Manager, all about the testing process and the resulting performance metrics.   Privileged Account Management Mark Wilcox, Oracle Highlights: Oracle Privileged Account Manager key capabilities, use cases The new release of Oracle Identity Management 11g R2 includes the capability to manage privileged accounts. Privileged accounts, if compromised, create a risk for fraud in the enterprise and as a result controlling access to privileged accounts is critical. Hear what Mark Wilcox, Principal Product Manager of Oracle Privileged Account Manager has to say about the capabilities of the offering in this podcast.   ·         Browser-based User Interface (UI) Customization Clayton Donley, Oracle Highlights: Benefits of Durable UI Configuration framework Business users need user interfaces that are not only friendly but also easily customizable. However the downside of any customization project is the cost and complexity involved in developing, testing, deploying and managing custom code. In this podcast, we examine how a new capability in Oracle Identity Management around browser based UI customization can reduce costs and complexity of customization while simplifying self service integration with corporate portal strategies.   ·         Simplifying Mobile and Social Sign-On Dan Killmer, Oracle Highlights: Secure mobile sign-on and consumption of social identities with Oracle Access Management The proliferation of mobile devices has spurred a new trend where employees tend to bring their own mobile devices to work and access corporate applications the same way they would access from a desktop or laptop. In this podcast, we examine how Oracle's latest innovation in Identity Management around Mobile and Social Sign On can simplify security and access management challenges posed by the widespread adoption of mobile devices in the enterprise. ·         Enabling Your Business with IDM R2 Scott Bonnell, Oracle Highlights: Self service, mobile access, personalization Gone are the days when Identity Management was just about stopping unauthorized users in their tracks. Identity Management if done right, can also enable your business. Join Scott Bonnell as he discusses how the IDM 11gR2 release enables the enterprise by providing self service, personalization and mobile access to corporate resources.

    Read the article

  • Booting the liveCD/USB in efi mode fails on tablet xe700t1a

    - by F.L.
    My tablet is Samsung Series 7 Slate (xe700t1a-a02fr). It operates an intel sandy bridge architecture. The main issue about this tablet is that it ships with a windows 7 install in (U)EFI mode (GPT partition table, etc.), so I'd like to get an EFI dual boot with Ubuntu. But it seems I can't boot on the liveCD in EFI mode. It starts loading (up to initrd), but I then get a blank (black) screen. I've tried the nomodeset kernel option (as well as removing quiet and splash) with no luck. I have used the 12.04.1 desktop iso (I have read somewhere that it is the only one that can boot in EFI mode). What are the other leads I can follow ? thanks

    Read the article

  • March 2011 Chicago IT Arch Group Recap

    - by Tim Murphy
    This month’s meeting was outstanding.  We had a record turnout for John Sprunger’s presentation on mobile architectures.  I guess that is what happens when you put up a presentation on the most popular topic in technology.  I invite everyone to join us for next month’s event.   And while I love to see new faces it is always great to have people come back and continue the conversation. Here are some resources from last night’s presentation. Presentation slides Whitepaper Case study Stay tuned for information on our upcoming presentations.   del.icio.us Tags: CITAG,Chicago Information Technology Architects Group,Mobile Architecture

    Read the article

  • Oracle Technology Fórum május 5-én

    - by Lajos Sárecz
    Május 11-én rendezzük a tavaszi Oracle Technology Fórumot, melyen 3 szekcióban fogjuk bemutatni az Oracle technológiai újdonságokat. A félnapos rendezvény témái szkeciónként az alábbiak lesznek: Management Track: - Üzemeltetés Oracle Enterprise Manager-rel az alkalmazástól a háttértárig - Az Oracle hackelés mítosza - Változtasson kockázatok nélkül Architecture Track - Adatbázis a felhoben - Extrém nagy teljesítményu adattárházak és tranzakciós rendszerek - Oracle Maximális rendelkezésre állású architektúra Development Track - Élet a Forms után - lehetoségek, megoldások, ajánlott irányok - ADF üzleti folyamatokban, integrációs környezetben - Tartalomkezelés beágyazása ADF fejlesztési környezetbe - Oracle UCM integráció Illetve lesz két egymással párhuzamosan futó keynote eloadás a nap elején: - IT költségek csökkentése - A megkerülhetetlen ADF - Átfogó és egységes Oracle fejlesztési keretrendszer Mint látható, a rendezvény fókuszában az Oracle Database 11gR2, valamint az Oracle fejleszto eszközök lesznek. Szó fog esni a Sun Oracle Database Machine-rol és az Oracle Cloud Computing stratégiájáról is. Szeretettel várunk mindenkit, aki valamilyen szinten foglalkozik Oracle adatbázis-kezelovel és Oracle fejleszto eszközökkel. A regisztráció már elindult.

    Read the article

  • Hot off the Press: Oracle Announces General Availability of Oracle Database 12c

    - by Tanu Sood
    Earlier today, Oracle announced general availability of Oracle Database 12c, the first database designed for the cloud. As more and more organizations embrace cloud, Oracle Database 12c provides  a new multi-tenant architecture on top of a fast, scalable, reliable, and secure database platform allowing you to bring agility to your enterprise, improve performance and availability for your applications while at the same time, simplify database consolidation. We recommend you check out the press release and visit oracle.com for more information on Oracle Database 12c. As always, more information on Oracle Fusion Middleware available here.

    Read the article

  • Visual Studio Talk Show #120 is now online - Visualisation et analyse de code dans Visual Studio 201

    - by guybarrette
    http://www.visualstudiotalkshow.com JP Duplessis: Visualisation et analyse de code dans Visual Studio 2010 Ultimate Mario profite de sa présence au campus de Microsoft à Redmond au États-Unis pour discuter de visualisation et d'analyse de code avec Jean-Pierre Duplessis. Pour l'occasion Mario est accompagné d'un coanimateur d'un jour soit Étienne Tremblay qui lui aussi se trouvait au campus de Microsoft au même moment. Jean-Pierre Duplessis est architecte chez Microsoft dans la division Visual Studio. Il est un vétéran de longue date de Microsoft. Il a débuté avec l'équipe de développement de Microsoft Host Integration Server. Ensuite, il a été responsable de concevoir la connexion aux réseaux sans-fil sous Windows NT. Ces dernières années, son travail avec l'équipe Visual Studio lui a permis de retourner à sa première passion soit l'analyse de code pour permettre de visualiser et comprendre l'architecture d'une application existante. var addthis_pub="guybarrette";

    Read the article

  • New Whitepaper: Oracle E-Business Suite on Exadata

    - by Steven Chan
    Our Maximum Availability Architecture (MAA) team has quietly been amassing a formidable set of whitepapers about the Oracle Exadata Database Machine.  They're available here:MAA Best Practices - Exadata Database MachineIf you're one of the lucky ones with access to this hardware platform, you'll be pleased to hear that the MAA team has just published a new whitepaper with best practices for EBS environments:Oracle E-Business Suite on ExadataThis whitepaper covers the following topics:Getting to Exadata -- a high level overview of fresh installation on, and migration to, Exadata Database Machine with pointers to more detailed documentation High Availability and Disaster Recovery -- an overview of our MAA best practices with pointers to our detailed MAA Best Practices documentation Performance and Scalability -- best practices for running Oracle E-Business Suite on Exadata Database Machine based on our internal testing

    Read the article

  • Architectural requirements Q&amp;A

    A few days ago I was contacted by Lianping Chen a doctoral researcher from the Irish Software Engineering Research Centre. Lianping is doing research on how to elicit architectural significant requirements and he asked me a few questions, which I though, might be interesting to a wider audience. 1. Do you agree that architecture design and requirements elicitation are usually in parallel or have a big time overlap? In other words, Architectural...Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here.

    Read the article

  • Is it possible to do freelancing with 3dsmax?

    - by Mirror51
    I am learning 3dsmax architecture for building models of houses. Is it possible to do freelancing with house modelling thing? For various reasons I have to stay at home. So I was wondering if I can earn some money by making some house models for someone. I really don't know how this works but may be someone can give some ideas. Would I need to go to construction or real estate companies and ask them if they want something like this?

    Read the article

  • C#: Why Decorate When You Can Intercept

    - by James Michael Hare
    We've all heard of the old Decorator Design Pattern (here) or used it at one time or another either directly or indirectly.  A decorator is a class that wraps a given abstract class or interface and presents the same (or a superset) public interface but "decorated" with additional functionality.   As a really simplistic example, consider the System.IO.BufferedStream, it itself is a descendent of System.IO.Stream and wraps the given stream with buffering logic while still presenting System.IO.Stream's public interface:   1: Stream buffStream = new BufferedStream(rawStream); Now, let's take a look at a custom-code example.  Let's say that we have a class in our data access layer that retrieves a list of products from a database:  1: // a class that handles our CRUD operations for products 2: public class ProductDao 3: { 4: ... 5:  6: // a method that would retrieve all available products 7: public IEnumerable<Product> GetAvailableProducts() 8: { 9: var results = new List<Product>(); 10:  11: // must create the connection 12: using (var con = _factory.CreateConnection()) 13: { 14: con.ConnectionString = _productsConnectionString; 15: con.Open(); 16:  17: // create the command 18: using (var cmd = _factory.CreateCommand()) 19: { 20: cmd.Connection = con; 21: cmd.CommandText = _getAllProductsStoredProc; 22: cmd.CommandType = CommandType.StoredProcedure; 23:  24: // get a reader and pass back all results 25: using (var reader = cmd.ExecuteReader()) 26: { 27: while(reader.Read()) 28: { 29: results.Add(new Product 30: { 31: Name = reader["product_name"].ToString(), 32: ... 33: }); 34: } 35: } 36: } 37: }            38:  39: return results; 40: } 41: } Yes, you could use EF or any myriad other choices for this sort of thing, but the germaine point is that you have some operation that takes a non-trivial amount of time.  What if, during the production day I notice that my application is performing slowly and I want to see how much of that slowness is in the query versus my code.  Well, I could easily wrap the logic block in a System.Diagnostics.Stopwatch and log the results to log4net or other logging flavor of choice: 1:     // a class that handles our CRUD operations for products 2:     public class ProductDao 3:     { 4:         private static readonly ILog _log = LogManager.GetLogger(typeof(ProductDao)); 5:         ... 6:         7:         // a method that would retrieve all available products 8:         public IEnumerable<Product> GetAvailableProducts() 9:         { 10:             var results = new List<Product>(); 11:             var timer = Stopwatch.StartNew(); 12:             13:             // must create the connection 14:             using (var con = _factory.CreateConnection()) 15:             { 16:                 con.ConnectionString = _productsConnectionString; 17:                 18:                 // and all that other DB code... 19:                 ... 20:             } 21:             22:             timer.Stop(); 23:             24:             if (timer.ElapsedMilliseconds > 5000) 25:             { 26:                 _log.WarnFormat("Long query in GetAvailableProducts() took {0} ms", 27:                     timer.ElapsedMillseconds); 28:             } 29:             30:             return results; 31:         } 32:     } In my eye, this is very ugly.  It violates Single Responsibility Principle (SRP), which says that a class should only ever have one responsibility, where responsibility is often defined as a reason to change.  This class (and in particular this method) has two reasons to change: If the method of retrieving products changes. If the method of logging changes. Well, we could “simplify” this using the Decorator Design Pattern (here).  If we followed the pattern to the letter, we'd need to create a base decorator that implements the DAOs public interface and forwards to the wrapped instance.  So let's assume we break out the ProductDAO interface into IProductDAO using your refactoring tool of choice (Resharper is great for this). Now, ProductDao will implement IProductDao and get rid of all logging logic: 1:     public class ProductDao : IProductDao 2:     { 3:         // this reverts back to original version except for the interface added 4:     } 5:  And we create the base Decorator that also implements the interface and forwards all calls: 1:     public class ProductDaoDecorator : IProductDao 2:     { 3:         private readonly IProductDao _wrappedDao; 4:         5:         // constructor takes the dao to wrap 6:         public ProductDaoDecorator(IProductDao wrappedDao) 7:         { 8:             _wrappedDao = wrappedDao; 9:         } 10:         11:         ... 12:         13:         // and then all methods just forward their calls 14:         public IEnumerable<Product> GetAvailableProducts() 15:         { 16:             return _wrappedDao.GetAvailableProducts(); 17:         } 18:     } This defines our base decorator, then we can create decorators that add items of interest, and for any methods we don't decorate, we'll get the default behavior which just forwards the call to the wrapper in the base decorator: 1:     public class TimedThresholdProductDaoDecorator : ProductDaoDecorator 2:     { 3:         private static readonly ILog _log = LogManager.GetLogger(typeof(TimedThresholdProductDaoDecorator)); 4:         5:         public TimedThresholdProductDaoDecorator(IProductDao wrappedDao) : 6:             base(wrappedDao) 7:         { 8:         } 9:         10:         ... 11:         12:         public IEnumerable<Product> GetAvailableProducts() 13:         { 14:             var timer = Stopwatch.StartNew(); 15:             16:             var results = _wrapped.GetAvailableProducts(); 17:             18:             timer.Stop(); 19:             20:             if (timer.ElapsedMilliseconds > 5000) 21:             { 22:                 _log.WarnFormat("Long query in GetAvailableProducts() took {0} ms", 23:                     timer.ElapsedMillseconds); 24:             } 25:             26:             return results; 27:         } 28:     } Well, it's a bit better.  Now the logging is in its own class, and the database logic is in its own class.  But we've essentially multiplied the number of classes.  We now have 3 classes and one interface!  Now if you want to do that same logging decorating on all your DAOs, imagine the code bloat!  Sure, you can simplify and avoid creating the base decorator, or chuck it all and just inherit directly.  But regardless all of these have the problem of tying the logging logic into the code itself. Enter the Interceptors.  Things like this to me are a perfect example of when it's good to write an Interceptor using your class library of choice.  Sure, you could design your own perfectly generic decorator with delegates and all that, but personally I'm a big fan of Castle's Dynamic Proxy (here) which is actually used by many projects including Moq. What DynamicProxy allows you to do is intercept calls into any object by wrapping it with a proxy on the fly that intercepts the method and allows you to add functionality.  Essentially, the code would now look like this using DynamicProxy: 1: // Note: I like hiding DynamicProxy behind the scenes so users 2: // don't have to explicitly add reference to Castle's libraries. 3: public static class TimeThresholdInterceptor 4: { 5: // Our logging handle 6: private static readonly ILog _log = LogManager.GetLogger(typeof(TimeThresholdInterceptor)); 7:  8: // Handle to Castle's proxy generator 9: private static readonly ProxyGenerator _generator = new ProxyGenerator(); 10:  11: // generic form for those who prefer it 12: public static object Create<TInterface>(object target, TimeSpan threshold) 13: { 14: return Create(typeof(TInterface), target, threshold); 15: } 16:  17: // Form that uses type instead 18: public static object Create(Type interfaceType, object target, TimeSpan threshold) 19: { 20: return _generator.CreateInterfaceProxyWithTarget(interfaceType, target, 21: new TimedThreshold(threshold, level)); 22: } 23:  24: // The interceptor that is created to intercept the interface calls. 25: // Hidden as a private inner class so not exposing Castle libraries. 26: private class TimedThreshold : IInterceptor 27: { 28: // The threshold as a positive timespan that triggers a log message. 29: private readonly TimeSpan _threshold; 30:  31: // interceptor constructor 32: public TimedThreshold(TimeSpan threshold) 33: { 34: _threshold = threshold; 35: } 36:  37: // Intercept functor for each method invokation 38: public void Intercept(IInvocation invocation) 39: { 40: // time the method invocation 41: var timer = Stopwatch.StartNew(); 42:  43: // the Castle magic that tells the method to go ahead 44: invocation.Proceed(); 45:  46: timer.Stop(); 47:  48: // check if threshold is exceeded 49: if (timer.Elapsed > _threshold) 50: { 51: _log.WarnFormat("Long execution in {0} took {1} ms", 52: invocation.Method.Name, 53: timer.ElapsedMillseconds); 54: } 55: } 56: } 57: } Yes, it's a bit longer, but notice that: This class ONLY deals with logging long method calls, no DAO interface leftovers. This class can be used to time ANY class that has an interface or virtual methods. Personally, I like to wrap and hide the usage of DynamicProxy and IInterceptor so that anyone who uses this class doesn't need to know to add a Castle library reference.  As far as they are concerned, they're using my interceptor.  If I change to a new library if a better one comes along, they're insulated. Now, all we have to do to use this is to tell it to wrap our ProductDao and it does the rest: 1: // wraps a new ProductDao with a timing interceptor with a threshold of 5 seconds 2: IProductDao dao = TimeThresholdInterceptor.Create<IProductDao>(new ProductDao(), 5000); Automatic decoration of all methods!  You can even refine the proxy so that it only intercepts certain methods. This is ideal for so many things.  These are just some of the interceptors we've dreamed up and use: Log parameters and returns of methods to XML for auditing. Block invocations to methods and return default value (stubbing). Throw exception if certain methods are called (good for blocking access to deprecated methods). Log entrance and exit of a method and the duration. Log a message if a method takes more than a given time threshold to execute. Whether you use DynamicProxy or some other technology, I hope you see the benefits this adds.  Does it completely eliminate all need for the Decorator pattern?  No, there may still be cases where you want to decorate a particular class with functionality that doesn't apply to the world at large. But for all those cases where you are using Decorator to add functionality that's truly generic.  I strongly suggest you give this a try!

    Read the article

  • Silverlight beyond the basics

    - by Braulio Díez Botella
    Once I have learned the basics of Silverlight, I realized that there was still a lot to learn, architecture, patterns & practices, data access technologies… BUT… there’s plenty of material out there and few available time. I have compiled a set of articles/web casts / posts I found pretty useful for me, and defined a “learning roadmap”.   About the learning road map:    About the links: Basics MVVM Pattern: MSDN Magazine Basics RIA Services: RIA Services Intro RIA Services and Visual Studio 2010 MVVM + PRISM: MVVM + PRISM  MEF: MSDN Magazine RIA Services + MVVM: Mix10 RIA Services + MVVM + MEF: Shawn Wildermuth Series (1) Shawn Wildermuth Series (2) Shawn Wildermuth Series (3) Shawn Wildermuth Series (4) Some of them are based on Beta version of the products, but the core concepts are there and quite well explained. Please if you have other superb references add it on the comments section, hope to build a “version 2” of this post including or your feeback, thanks.

    Read the article

  • Profit's COLLABORATE 10 Session Selections

    - by Aaron Lazenby
    COLLABORATE 2010 is a mere 11 days away (thanks for the reminder @ocp_advisor). Every year I publish my a list of the sessions I think reflect some of the more interesting people/trends in enterprise IT. I should be at all of these sessions, so drop by for a chat--I'll be the guy tapping out emails on my iPad... Monday, April 19 9:15 a.m. - Keynote: Transforming Customer Value, Delivering Highest Customer Service Location: Keynote Hall I never miss Charles Phillips when he speaks--it's one of the best opportunities to get an update on Oracle product developments and strategy. And there's certainly occasion for an update: this will be Phillips' first big presentation since the Oracle + Sun Strategy Update in late January. Phillips is appearing with Oracle Executive Vice President of Development Thomas Kurian which means there should be some excellent information about how customers are using Oracle's complete software and hardware stack to address enterprise IT challenges. The session should provide some excellent context for the rest of the week's session...don't miss it. 10:45 a.m. - Oracle Fusion Applications: Functional Overview Location: South Seas FI met Basheer Khan at COLLABORATE 08 in Denver and have followed his work ever since. He's a former member of the OAUG Board of Directors, an Oracle ACE, and a charismatic enterprise IT expert. Having worked with the Oracle Usability Advisory Board, Basheer should have some fascinating insights to share about the features and interface of Oracle's Fusine Applications. This session, along with Nadia Bendjedou's "10 Things You Can Do Today to Prepare for the Next Generation Applications" (on Tuesday, April 20 8:00 a.m. in room 3662) should give attendees the update they need about Oracle's next-generation applications.   1:15p.m. - E-Business Suite in the Amazon Cloud Location: South Seas HI did my first full-fledged cloud computing coverage at last year's COLLABORATE show (check out my interview with Oracle's Bill Hodak), where I first learned about Amazon's EC2 offering. I've since talked with several people who have provisioned server space on Amazon's cloud with great results. So I'm looking forward to watching the audience configure an instance of the Oracle E-Business Suite release 12 on the cloud while Chuck Edwards from Blue Gecko drives. This session should take some of the mist and vapor out of the cloud conversation.2:30 p.m. - "Zero Sign-on" to EBS - Enabling 96000 Users to Login to EBS Without User Maintenance Location: South Seas HI'll be sitting tight in South Seas H for the next session on Monday where Doug Pepka, a ten-year veteran of communications giant Comcast, will be walking attendees through a massive single sign-on (SSO) project across the enterprise. I'm working on a story about SSO for the August issue of Profit, so this session has real practical value to me. Plus the proliferation of user account logins--both personal and professional--makes this a critical usability/change management issue for IT leaders planning for successful long-term IT implementations.   Tuesday 8:00 am  - Information Architecture for Men in Kilts Location: SURF AGetting to a 8:00 a.m. presentation is a tall order in Las Vegas, but presenter Billy Cripe will make it worth your effort. Not only is the title of this session great, but the content should appeal to any IT strategist looking to push the limits of Web 2.0 technologies in the enterprise. Cripe is a product management director of Enterprise 2.0 and Enterprise Content Management at Oracle, author of Reshaping Your Business with Web 2.0, and a prolific blogger--he knows how information architecture is critical to and enterprise 2.0 implementation.    10:30a.m. - Oracle Virtualization: From Desktop to Data Center Location: REEF FData center virtualization is still one of the best ways to reduce the cost of running enterprise IT. With the addition of Sun products, Oracle has the industry's most comprehensive virtualization portfolio. I must admit, I'm no expert in this subject. So I'm looking forward to Monica Kumar's presentation so I can get up to speed.   Wednesday 8:00 a.m. - The Art of the Steal Location: Mandalay Bay Ballroom JMany will know Frank Abagnale from Steven Spielberg's 2002 film "Catch Me if You Can." The one-time con man and international fugitive who swindled $2.5 million in forged checks went on to help U.S. federal officials investigate fraud cases. Now the CEO of Abagnale and Associates, he has become an invaluable source to the business world on the subject of fraud and fraud protection. With identity theft and digital fraud still on the rise, this session should be an entertaining, and sobering, education on the threats facing businesses and customers around the world. A great way to start Wednesday.1:00 p.m. - Google Wave: Will it replace e-mail as we know it today? Location: SURF EBy many assessments (my own included), Google Wave is a bit of an open collaboration failure. It may seem like an odd reason for me to be excited about this session, but I'm looking forward to the chance to revisit the technology. Also, this is a great case study in connecting free, available Internet tools to existing enterprise computing environments--an issue that IT strategists must contend with as workers spreads out and choose their own productivity tools.  

    Read the article

  • Is SOA really dead?

    - by Ahsan Alam
    I have come across many articles/blogs where authors have strongly hailed the death of Service Oriented Architecture (SOA). I could almost hear the laughter pouring out of their writings. Being a big supporter of SOA, I have found myself wondering – have I been following the wrong path all along? Do I need to change the way I think? Then I started to look around. Many newer technologies and concepts have evolved in the past few years. People are starting to take advantage of cloud computing, SAAS (Software as a Service), multitudes of on-demand platforms and many more. Now, I started thinking – is SOA really dead? In order to effectively utilize these newer concepts, I believe we need SOA more than ever because it gives us loose-coupling. People often forget that the key principal behind SOA is loose-coupling. We cannot achieve SOA just by throwing services (WCF, Web Service); we need loosely coupled systems.

    Read the article

< Previous Page | 402 403 404 405 406 407 408 409 410 411 412 413  | Next Page >