Search Results

Search found 33297 results on 1332 pages for 'java java ee'.

Page 1135/1332 | < Previous Page | 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142  | Next Page >

  • Collaborative Whiteboard using WebSocket in GlassFish 4 - Text/JSON and Binary/ArrayBuffer Data Transfer (TOTD #189)

    - by arungupta
    This blog has published a few blogs on using JSR 356 Reference Implementation (Tyrus) as its integrated in GlassFish 4 promoted builds. TOTD #183: Getting Started with WebSocket in GlassFish TOTD #184: Logging WebSocket Frames using Chrome Developer Tools, Net-internals and Wireshark TOTD #185: Processing Text and Binary (Blob, ArrayBuffer, ArrayBufferView) Payload in WebSocket TOTD #186: Custom Text and Binary Payloads using WebSocket One of the typical usecase for WebSocket is online collaborative games. This Tip Of The Day (TOTD) explains a sample that can be used to build such games easily. The application is a collaborative whiteboard where different shapes can be drawn in multiple colors. The shapes drawn on one browser are automatically drawn on all other peer browsers that are connected to the same endpoint. The shape, color, and coordinates of the image are transfered using a JSON structure. A browser may opt-out of sharing the figures. Alternatively any browser can send a snapshot of their existing whiteboard to all other browsers. Take a look at this video to understand how the application work and the underlying code. The complete sample code can be downloaded here. The code behind the application is also explained below. The web page (index.jsp) has a HTML5 Canvas as shown: <canvas id="myCanvas" width="150" height="150" style="border:1px solid #000000;"></canvas> And some radio buttons to choose the color and shape. By default, the shape, color, and coordinates of any figure drawn on the canvas are put in a JSON structure and sent as a message to the WebSocket endpoint. The JSON structure looks like: { "shape": "square", "color": "#FF0000", "coords": { "x": 31.59999942779541, "y": 49.91999053955078 }} The endpoint definition looks like: @WebSocketEndpoint(value = "websocket",encoders = {FigureDecoderEncoder.class},decoders = {FigureDecoderEncoder.class})public class Whiteboard { As you can see, the endpoint has decoder and encoder registered that decodes JSON to a Figure (a POJO class) and vice versa respectively. The decode method looks like: public Figure decode(String string) throws DecodeException { try { JSONObject jsonObject = new JSONObject(string); return new Figure(jsonObject); } catch (JSONException ex) { throw new DecodeException("Error parsing JSON", ex.getMessage(), ex.fillInStackTrace()); }} And the encode method looks like: public String encode(Figure figure) throws EncodeException { return figure.getJson().toString();} FigureDecoderEncoder implements both decoder and encoder functionality but thats purely for convenience. But the recommended design pattern is to keep them in separate classes. In certain cases, you may even need only one of them. On the client-side, the Canvas is initialized as: var canvas = document.getElementById("myCanvas");var context = canvas.getContext("2d");canvas.addEventListener("click", defineImage, false); The defineImage method constructs the JSON structure as shown above and sends it to the endpoint using websocket.send(). An instant snapshot of the canvas is sent using binary transfer with WebSocket. The WebSocket is initialized as: var wsUri = "ws://localhost:8080/whiteboard/websocket";var websocket = new WebSocket(wsUri);websocket.binaryType = "arraybuffer"; The important part is to set the binaryType property of WebSocket to arraybuffer. This ensures that any binary transfers using WebSocket are done using ArrayBuffer as the default type seem to be blob. The actual binary data transfer is done using the following: var image = context.getImageData(0, 0, canvas.width, canvas.height);var buffer = new ArrayBuffer(image.data.length);var bytes = new Uint8Array(buffer);for (var i=0; i<bytes.length; i++) { bytes[i] = image.data[i];}websocket.send(bytes); This comprehensive sample shows the following features of JSR 356 API: Annotation-driven endpoints Send/receive text and binary payload in WebSocket Encoders/decoders for custom text payload In addition, it also shows how images can be captured and drawn using HTML5 Canvas in a JSP. How could this be turned in to an online game ? Imagine drawing a Tic-tac-toe board on the canvas with two players playing and others watching. Then you can build access rights and controls within the application itself. Instead of sending a snapshot of the canvas on demand, a new peer joining the game could be automatically transferred the current state as well. Do you want to build this game ? I built a similar game a few years ago. Do somebody want to rewrite the game using WebSocket APIs ? :-) Many thanks to Jitu and Akshay for helping through the WebSocket internals! Here are some references for you: JSR 356: Java API for WebSocket - Specification (Early Draft) and Implementation (already integrated in GlassFish 4 promoted builds) Subsequent blogs will discuss the following topics (not necessary in that order) ... Error handling Interface-driven WebSocket endpoint Java client API Client and Server configuration Security Subprotocols Extensions Other topics from the API

    Read the article

  • Earliest use of Comments as Semantically Meaningful Things in a Program?

    - by Alan Storm
    In certain corners of the PHP meta-programming world, it's become fashionable to use PHPDoc comments as a mechanism for providing semantically meaningful information to a program. That is, other code will parse the doc blocks and do something significant with the information encoded in those comments. Doctrine's annotations and code generation are an example of this. What's the earliest (or some early) use of this technique? I have vague memories of some early java Design by Contract implementations doing similar things, but I'm not sure of those folks were inventing the technique, or if they got it from somewhere. Mainly asking so I can provide some historical context for PHP developers who haven't come across the technique before, and are distrustful of it because it seems a little crazy pants.

    Read the article

  • Why are there different programming languages [closed]

    - by Velizar Hristov
    I'm not asking about the usefulness of the languages that do exist already: I already know, and agree, that different languages are better for different purposes. However, why don't they just have a single language that can do it all? Why, when C# was created, they didn't keep everything from C and C++ and just add a few things, so that it can be used as both a low-level and high-level language? I see no harm in adding all kinds of commands to a single language that would allow it to be good for everything, and even eliminate the need for all other languages. Someone from another thread said that if there's a flaw in a certain language, its successor might not have it. However, why don't we just update that language to remove the flaw, and/or add anything that's missing? Arrays are different in Java and C#, but why not have them both, just use different commands for them? And so on...

    Read the article

  • How important is to avoid name collisions between libraries belonging to different domains?

    - by Sergio
    I have written a small open source Java library for facilitating conversions between different types of objects (in the style of Google's gson, but quite more general). It seems to me that a nice natural name for my library is JConverter, after browsing in the web to see if another library with the same name already exists, I found a library with the same name for Joomla. My concrete question is: How important is to avoid naming collisions when creating an open source library if an existing library with the chosen name already exists in a complete different domain ? (in my concrete case, these are libraries even implemented for different languages).

    Read the article

  • Working with vectors and transformations

    - by user29163
    I am going to write an graphical 2D application that allows user to create polygons and transform them through transformation such as rotation an so on. I was hoping someone can give pro and cons arguments for the different choices I got in my mind. (Its all in Java btw!) a). Represent vectors by filling matrices with 'real' numbers. This means making a matrix datas tructure that supports multiplication, transposing etc b). Make a own vector class, such that I can make a matrix class that support those vectors.

    Read the article

  • OpenWonderland goes to Europe

    - by user12652314
    Past my day job, I also have the privilege of being Vice President and Member of the Board of the OpenWonderland Foundation (Formerly Project Wonderland for ex-Sun folks). It's great to see the progress Wonderland is making as the platform-of-choice for open source collaborative 3-D virtual worlds built in Java. The upcoming and first european IE Summit in Madrid will show a number of projects and innovations for virtual and game-based learning. I also dropped Ultan a note after learning about the Gamification of Oracle Apps to see if collaborating with kids and schools is an area we can work together on to improve kids engagement and learning experiences online. Stay tuned.

    Read the article

  • Friday Fun: Z-Type

    - by Asian Angel
    This week’s game is a bit like Space Invaders except you use typing to defend your position. Defending your position will be easy enough at first, but things will quickly become complicated! Do you have the speed and accuracy required to survive or will the enemy have the last word? HTG Explains: Why Do Hard Drives Show the Wrong Capacity in Windows? Java is Insecure and Awful, It’s Time to Disable It, and Here’s How What Are the Windows A: and B: Drives Used For?

    Read the article

  • What classes are useful for an aspiring software developer? [closed]

    - by Anonymouse
    I'm a freshman in college trying to graduate in 3 years with a Math/CS dual major, and I don't have a lot of time to be fooling around with useless classes. I've tested out of most of my gen eds and science-y courses, but I need to know: what math and cs courses are most important for someone interested in algorithm development? Math courses already taken: Calc I-III,Linear Algebra, Discrete Math. CS courses taken: Java. Math courses I'm planning to take: ODE, Linear Algebra II, Vector calc, Logic, (Analysis or Algebra), Stats, probability CS courses I'm planning to take: C(required), Data Structures, Numerical Methods, Intro to Analysis of Algorithms. Which is better, analysis or algebra? Did I take enough CS courses? Am I missing out on anything? Thanks.

    Read the article

  • Nearest color algorithm using Hex Triplet

    - by Lijo
    Following page list colors with names http://en.wikipedia.org/wiki/List_of_colors. For example #5D8AA8 Hex Triplet is "Air Force Blue". This information will be stored in a databse table (tbl_Color (HexTriplet,ColorName)) in my system Suppose I created a color with #5D8AA7 Hex Triplet. I need to get the nearest color available in the tbl_Color table. The expected anaser is "#5D8AA8 - Air Force Blue". This is because #5D8AA8 is the nearest color for #5D8AA7. Do we have any algorithm for finding the nearest color? How to write it using C# / Java? REFERENCE http://stackoverflow.com/questions/5440051/algorithm-for-parsing-hex-into-color-family http://stackoverflow.com/questions/6130621/algorithm-for-finding-the-color-between-two-others-in-the-colorspace-of-painte Suggested Formula: Suggested by @user281377. Choose the color where the sum of those squared differences is minimal (Square(Red(source)-Red(target))) + (Square(Green(source)-Green(target))) +(Square(Blue(source)-Blue(target)))

    Read the article

  • Which language is productive for high phase business application development? [closed]

    - by Nizar
    If we (I and my friends) would like to build web-based products and sell it using a license approach (to renew every year for example). Which server-side language will be most suitable for our purpose? We could target the following audience: - Personal sites. - Serious small-medium companies (to sell prducts such as Help-Desks, Forms,etc.) - Restaurants (to sell online order web applications). We would like to - attract as many customers as possible. - provide updates for our prodcuts (for our customers). - make our products easy to use. There are number of open-source frameworks and languages that has potential to handle our business problems (like Django, Python, Java, etc..) However, we are not sure which one is easier to learn and has variety of tools/plugins to help us in development process. Thus we need to get you experience on this hard to decide matter. Which language and its supporting framework we should choose ?

    Read the article

  • Best language for crossplatform app with GUI [on hold]

    - by Jeremy Dicaire
    I've decided to finally get rid of all Microsoft crap and switched to linux yesterday (It feels so good!) I'm looking for a way to create a cross-platform app with a GUI using an open-source language. I came across python with qt4 (or qt5). I give a thought to Java but it's a memory eater... I'm wondering which other good options is available before starting my journey with those 2 and which tools are good to help me code. I'm currently using Eclipse for all my programming needs. Your help is appreciated! Have a nice day

    Read the article

  • SharePoint Apps a word of caution

    - by Sahil Malik
    SharePoint 2010 Training: more information Lucky for SharePoint, it is the first foray into this brave world where the browser is masquerading as an operating system. For the very first time, with SharePoint 2013, we will have apps from different vendors, talking to different domains live in the browser. Sound fun eh? Well, all is hunky dory until you consider that browsers don’t have concepts such as process isolation, encryption, obfuscation etc.. Stuff that we are so used to in operating systems that we don’t even think about it. Browsers have JavaScript, and broken HTML5 – it is not secure! In fact, in the current technology spectrum you cannot achieve anything other than laughable security at message level without involving a plugin or some sort of thick code like Java. The only security worth it’s salt in pure html/javascript scenarios, still, is transport security – and that’s it. Read full article ....

    Read the article

  • Processing Text and Binary (Blob, ArrayBuffer, ArrayBufferView) Payload in WebSocket - (TOTD #185)

    - by arungupta
    The WebSocket API defines different send(xxx) methods that can be used to send text and binary data. This Tip Of The Day (TOTD) will show how to send and receive text and binary data using WebSocket. TOTD #183 explains how to get started with a WebSocket endpoint using GlassFish 4. A simple endpoint from that blog looks like: @WebSocketEndpoint("/endpoint") public class MyEndpoint { public void receiveTextMessage(String message) { . . . } } A message with the first parameter of the type String is invoked when a text payload is received. The payload of the incoming WebSocket frame is mapped to this first parameter. An optional second parameter, Session, can be specified to map to the "other end" of this conversation. For example: public void receiveTextMessage(String message, Session session) {     . . . } The return type is void and that means no response is returned to the client that invoked this endpoint. A response may be returned to the client in two different ways. First, set the return type to the expected type, such as: public String receiveTextMessage(String message) { String response = . . . . . . return response; } In this case a text payload is returned back to the invoking endpoint. The second way to send a response back is to use the mapped session to send response using one of the sendXXX methods in Session, when and if needed. public void receiveTextMessage(String message, Session session) {     . . .     RemoteEndpoint remote = session.getRemote();     remote.sendString(...);     . . .     remote.sendString(...);    . . .    remote.sendString(...); } This shows how duplex and asynchronous communication between the two endpoints can be achieved. This can be used to define different message exchange patterns between the client and server. The WebSocket client can send the message as: websocket.send(myTextField.value); where myTextField is a text field in the web page. Binary payload in the incoming WebSocket frame can be received if ByteBuffer is used as the first parameter of the method signature. The endpoint method signature in that case would look like: public void receiveBinaryMessage(ByteBuffer message) {     . . . } From the client side, the binary data can be sent using Blob, ArrayBuffer, and ArrayBufferView. Blob is a just raw data and the actual interpretation is left to the application. ArrayBuffer and ArrayBufferView are defined in the TypedArray specification and are designed to send binary data using WebSocket. In short, ArrayBuffer is a fixed-length binary buffer with no format and no mechanism for accessing its contents. These buffers are manipulated using one of the views defined by one of the subclasses of ArrayBufferView listed below: Int8Array (signed 8-bit integer or char) Uint8Array (unsigned 8-bit integer or unsigned char) Int16Array (signed 16-bit integer or short) Uint16Array (unsigned 16-bit integer or unsigned short) Int32Array (signed 32-bit integer or int) Uint32Array (unsigned 16-bit integer or unsigned int) Float32Array (signed 32-bit float or float) Float64Array (signed 64-bit float or double) WebSocket can send binary data using ArrayBuffer with a view defined by a subclass of ArrayBufferView or a subclass of ArrayBufferView itself. The WebSocket client can send the message using Blob as: blob = new Blob([myField2.value]);websocket.send(blob); where myField2 is a text field in the web page. The WebSocket client can send the message using ArrayBuffer as: var buffer = new ArrayBuffer(10);var bytes = new Uint8Array(buffer);for (var i=0; i<bytes.length; i++) { bytes[i] = i;}websocket.send(buffer); A concrete implementation of receiving the binary message may look like: @WebSocketMessagepublic void echoBinary(ByteBuffer data, Session session) throws IOException {    System.out.println("echoBinary: " + data);    for (byte b : data.array()) {        System.out.print(b);    }    session.getRemote().sendBytes(data);} This method is just printing the binary data for verification but you may actually be storing it in a database or converting to an image or something more meaningful. Be aware of TYRUS-51 if you are trying to send binary data from server to client using method return type. Here are some references for you: JSR 356: Java API for WebSocket - Specification (Early Draft) and Implementation (already integrated in GlassFish 4 promoted builds) TOTD #183 - Getting Started with WebSocket in GlassFish TOTD #184 - Logging WebSocket Frames using Chrome Developer Tools, Net-internals and Wireshark Subsequent blogs will discuss the following topics (not necessary in that order) ... Error handling Custom payloads using encoder/decoder Interface-driven WebSocket endpoint Java client API Client and Server configuration Security Subprotocols Extensions Other topics from the API

    Read the article

  • How to name setter that does data conversion?

    - by IAdapter
    I'm struggling with how to name this method, I don't like the "set" prefix, because I feel it should be reserved for normal "dumb" setters and some tools might not like it (i did not check it in checkstyle, pmd, etc., but I got a feeling they won't like it.) for example (in java, but I feel its language agnostic) public void setActionListenerClicked(boolean actionListenerClicked) { this.actionListenerClicked = actionListenerClicked ? "1" : "0"; } The only purpose of this method is ONLY to set, this method is needed and cannot be joined with any other (because of framework used). P.S. I DO know that question is similar to How to name multi-setter?, but I feel its not the same question.

    Read the article

  • Type Conversion in JPA 2.1

    - by delabassee
    The Java Persistence 2.1 specification (JSR 338) adds support for various new features such as schema generation, stored procedure invocation, use of entity graphs in queries and find operations, unsynchronized persistence contexts, injection into entity listener classes, etc. JPA 2.1 also add support for Type Conversion methods, sometime called Type Converter. This new facility let developers specify methods to convert between the entity attribute representation and the database representation for attributes of basic types. For additional details on Type Conversion, you can check the JSR 338 Specification and its corresponding JPA 2.1 Javadocs. In addition, you can also check those 2 articles. The first article ('How to implement a Type Converter') gives a short overview on Type Conversion while the second article ('How to use a JPA Type Converter to encrypt your data') implements a simple use-case (encrypting data) to illustrate Type Conversion. Mission critical applications would probably rely on transparent database encryption facilities provided by the database but that's not the point here, this use-case is easy enough to illustrate JPA 2.1 Type Conversion.

    Read the article

  • Most supported/easiest to get started gamedev language?

    - by user1009013
    In what language are the most libraries/frameworks (like lwjgl for Java, XNA for C#)? What language is the easiest to start making a game (very easy to get a 3D-environment rendered)? What language has the friendliest learning curve? Say I want to make a game and I don't know any programming languages, I want to develop for any platform(so don't give the answer "the one you know best/the platform you are working on"), then what is the best language to start with. I get this question a lot "I have this and that ideas for a game and want to make it, what language should I use"(mostly asked by beginning programmers), but I don't know how to answer that. The answer "use the one you are most familiar with", because sometimes they don't even know a language yet... I am not asking for someone's personal opinion, but an objective list of what languages are the easiest/most supported/have the most/best libraries/frameworks to get started with gamedevelopment.

    Read the article

  • Silverlight 4 + RIA Services - Ready for Business: Exposing WCF (SOAP\WSDL) Services

    Continuing in our series, I wanted to touch on how a RIA Services can be exposed as a Soap\WSDL service.   This is very useful if you want to enable the exact same business logic\data access logic is available to clients other than Silverlight.    For example to a WinForms application or WPF or even a console application.  SOAP is a particularly good model for interop with the Java\JEE world as well.    First you need to add a reference to Microsoft.ServiceModel.DomainSerivves.Hosting.EndPoints...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

  • Oracle Enterprise Manager Cloud Control 12c Release 2 (12.1.0.2) ist da!

    - by Ralf Durben (DBA Community)
    Das zweite Release von Oracle Enterprise Manager Cloud Control 12c ist jetzt verfügbar und zwar für alle Plattformen, auf denen auch das Vorgängerrelease genutzt werden konnte. Das gab es bei Enterprise Manager noch nie: Alle Plattformen haben die gleiche Priorität! In dem neuen Release wurde die Stabilität nochmals verbessert und einige Wünsche unserer Kunden verwirklicht. Auch einige neue Funktionalitäten, wie zum Beispiel "Java as a Service" stehen nun zur Verfügung. Neben dem Cloud Control Framework wurden auch einige Plug-Ins erneuert. Cloud Control 12.1.0.2 ist ein komplettes Release und der Download enthält alles für die Installation des OMS und Agenten. Damit kann mit der Software eine komplette Neuinstallation oder ein Upgrade von EM 10.2.0.5, 11.1 oder 12.1.0.1 (auch ohne Bundle Patch 1) vorgenommen werden. Eine Übersicht über die Neuerungen finden Sie im Oracle Enterprise Manager Cloud Control Introduction Document.

    Read the article

  • Running projects from NTFS partition on Ubuntu

    - by the_hamster
    I'm dual booting Windows 7/Ubuntu 12.04. I want to run C++/Java projects from a NTFS partition, where I keep generally all my files and projects. I fiddled with the fstab. One time I removed 'noexec', the other I changed it to 'exec'. After that,each time, I remounted the partition and it still didn't work. I tried using sudo mount -o remount,exec /media/mypartition It didn't work either. There was a somewhat similar question already, but it didn't have the proper answer for me or I didn't know how to make it work(note: I am a total newbie with Ubuntu and Linux in general).

    Read the article

  • How to render Minecraft on the GPU?

    - by l0b0
    Hardware: Intel i7 AMD Radeon HD 6970 SSD with plenty of space 6 GB RAM Software OpenJDK 6, 7, and Oracle Java 7 (reproducible with all three) AMD Catalyst 12.8 and open source driver (reproducible with both) Ubuntu 12.04 x86_64 and older Minecraft 1.3.2 vanilla and older On this setup I am getting rubbish frame rates after a short while of playing, dropping from about 45-55 to 15 in a couple of minutes. CPU use is 40-45 even when rendering the opening screen at 1920x1280, and gameRenderer is using about 90% CPU when playing. Rather than trying to eke out a few more FPS out of an obviously broken rendering pipeline, I really hope to find a solution to make the GPU render Minecraft.

    Read the article

  • TGA loader: reverse height

    - by aVoX
    I wrote a TGA image loader in Java which is working perfectly for files created with GIMP as long as they are saved with the option "origin" set to "Top Left" (Note: Actually TGA files are meant to be stored upside down - "Bottom Left" in GIMP). My problem is that I want my image loader to be capable of reading all different kinds of TGAs, so my question is, how do I flip the image upside down? Note that I store all image data inside a one-dimensional byte array, because OpenGL (glTexImage2D to be specific) requires it that way. Thanks in advance.

    Read the article

  • Creating a new variable versus assigning an existing one

    - by rwallace
    Which is more common, creating a new variable versus assigning an existing variable (field, array element etc - anything that syntactically uses the assignment operator)? The reason I ask is that I'm designing a new language, and wondering which of these two operations should get the shorter syntax. It's not intended to be a pure functional language, or the question wouldn't arise, so I'd ideally like to count usage across large existing code bases in procedural and object-oriented languages like C, C++ and Java, though as far as I can see there isn't an easy way to do this automatically, and going by memory and eyeball, neither is obviously more common than the other.

    Read the article

  • understanding computers [closed]

    - by Ashwin
    Possible Duplicate: Good resources to understand how a program interacts with machine hardware I don't know if this is the correct StackExchange site to ask this question. But I could not find any other. I want to understand how a computer works from the software level to the internal structure. For example what happens when I press a button on keyboard. The OS interprets it and then what changes happen in the flip-flops. How is an operating system written? If it is written using some programming language, then how is that interpreter written. At some point it has to come down to the hardware, right? I know to program in c, c++ and java. But after all these years I am still not sure about what is happening inside. I would be grateful to anyone who points me to to a link or a video that explains this to the deep.

    Read the article

  • Data Source Security Part 1

    - by Steve Felts
    I’ve written a couple of articles on how to store data source security credentials using the Oracle wallet.  I plan to write a few articles on the various types of security available to WebLogic Server (WLS) data sources.  There are more options than you might think! There have been several enhancements in this area in WLS 10.3.6.  There are a couple of more enhancements planned for release WLS 12.1.2 that I will include here for completeness.  This isn’t intended as a teaser.  If you call your Oracle support person, you can get them now as minor patches to WLS 10.3.6.   The current security documentation is scattered in a few places, has a few incorrect statements, and is missing a few topics.  It also seems that the knowledge of how to apply some of these features isn’t written down.  The goal of these articles is to talk about WLS data source security in a unified way and to introduce some approaches to using the available features.  Introduction to WebLogic Data Source Security Options By default, you define a single database user and password for a data source.  You can store it in the data source descriptor or make use of the Oracle wallet.  This is a very simple and efficient approach to security.  All of the connections in the connection pool are owned by this user and there is no special processing when a connection is given out.  That is, it’s a homogeneous connection pool and any request can get any connection from a security perspective (there are other aspects like affinity).  Regardless of the end user of the application, all connections in the pool use the same security credentials to access the DBMS.   No additional information is needed when you get a connection because it’s all available from the data source descriptor (or wallet). java.sql.Connection conn =  mydatasource.getConnection(); Note: You can enter the password as a name-value pair in the Properties field (this not permitted for production environments) or you can enter it in the Password field of the data source descriptor. The value in the Password field overrides any password value defined in the Properties passed to the JDBC Driver when creating physical database connections. It is recommended that you use the Password attribute in place of the password property in the properties string because the Password value is encrypted in the configuration file (stored as the password-encrypted attribute in the jdbc-driver-params tag in the module file) and is hidden in the administration console.  The Properties and Password fields are located on the administration console Data Source creation wizard or Data Source Configuration tab. The JDBC API can also be used to programmatically specify a database user name and password as in the following.  java.sql.Connection conn = mydatasource.getConnection(“user”, “password”); According to the JDBC specification, it’s supposed to take a database user and associated password but different vendors implement this differently.  WLS, by default, treats this as an application server user and password.  The pair is authenticated to see if it’s a valid user and that user is used for WLS security permission checks.  By default, the user is then mapped to a database user and password using the data source credential mapper, so this API sort of follows the specification but database credentials are one-step removed from the application code.  More details and the rationale are described later. While the default approach is simple, it does mean that only one database user is doing all of the work.  You can’t figure out who actually did the update and you can’t restrict SQL operations by who is running the operation, at least at the database level.   Any type of per-user logic will need to be in the application code instead of having the database do it.  There are various WLS data source features that can be configured to provide some per-user information about the operations to the database. WebLogic Data Source Security Options This table describes the features available for WebLogic data sources to configure database security credentials and a brief description.  It also captures information about the compatibility of these features with one another. Feature Description Can be used with Can’t be used with User authentication (default) Default getConnection(user, password) behavior – validate the input and use the user/password in the descriptor. Set client identifier Proxy Session, Identity pooling, Use database credentials Use database credentials Instead of using the credential mapper, use the supplied user and password directly. Set client identifier, Proxy session, Identity pooling User authentication, Multi Data Source Set Client Identifier Set a client identifier property associated with the connection (Oracle and DB2 only). Everything Proxy Session Set a light-weight proxy user associated with the connection (Oracle-only). Set client identifier, Use database credentials Identity pooling, User authentication Identity pooling Heterogeneous pool of connections owned by specified users. Set client identifier, Use database credentials Proxy session, User authentication, Labeling, Multi-datasource, Active GridLink Note that all of these features are available with both XA and non-XA drivers. Currently, the Proxy Session and Use Database Credentials options are on the Oracle tab of the Data Source Configuration tab of the administration console (even though the Use Database Credentials feature is not just for Oracle databases – oops).  The rest of the features are on the Identity tab of the Data Source Configuration tab in the administration console (plan on seeing them all in one place in the future). The subsequent articles will describe these features in more detail.  Keep referring back to this table to see the big picture.

    Read the article

  • GDD-BR 2010 [1B] What's New in Google App Engine and GAE for Business

    GDD-BR 2010 [1B] What's New in Google App Engine and GAE for Business Speaker: Patrick Chanezon Track: Cloud Computing Time: B[11:15 - 12:00] Room: 1 Level: 151 Learn what's new with Java on App Engine. We'll take a whirlwind tour through the changes since last year, walk through a code sample for task queues and the new blobstore service, and demonstrate techniques for improving your application's performance. We'll top it off with a glimpse into some new features that we've planned for the year ahead. This session will include an overview of Google App Engine for Business. From: GoogleDevelopers Views: 0 0 ratings Time: 49:20 More in Science & Technology

    Read the article

< Previous Page | 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142  | Next Page >