ML
    • Recent
    • Categories
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Eliminate Print Servers: go LANless?

    IT Discussion
    printers print server lanless
    8
    202
    78.4k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • scottalanmillerS
      scottalanmiller
      last edited by

      A simple architectural example of how this could be used is something like this...

      An EHR that tracks patient visit data. It's adhoc info, not highly structured, in documents. So a document database is used to track documents while a relational database is used to track patient financial data and account information. The document database is tied to the account database in the application code.

      This is a pretty common design choice today for a lot of reasons and would introduce both relational problems as well as inaccessibility problems to a third party wanting to access databases directly.

      Of course, if you are hand coded and willing to be trained by the developers and to take responsibility for any mistakes in the code combining data incorrectly, one could expose one system via ODBC and another via JSON over HTTPS and write a new application to combine them. But wouldn't accessing a single API be potentially much easier? Especially if that API let you specify the needed data in a single query and know that any changes to the underlying system are abstracted away and accuracy is not the end user's responsibility?

      1 Reply Last reply Reply Quote 0
      • stacksofplatesS
        stacksofplates @scottalanmiller
        last edited by

        @scottalanmiller said:

        @johnhooks said:

        So if we are going to assume bad practices here, why not assume bad practices with the API?

        I am. And likewise, if we assume good ones, why not assume good ones? I've been pointing out all along that your assumptions were based on a pristine relational database that is fully self describing combined with an API that was hard to use - while possible, it is an unlikely combination and one we would not just assume.

        Spotify's API may not be hard, but that's a ton of info for the small amount of data you're getting. It's going to be a ton of stuff to learn either via API or looking directly at the data. At least the data has to have some kind of structure.

        Really the worst it could be in a relational database is one tuple has all of the attributes. I say worst as in worst design. That would be fairly easy to read but horrible design.

        scottalanmillerS 2 Replies Last reply Reply Quote 0
        • scottalanmillerS
          scottalanmiller @stacksofplates
          last edited by

          @johnhooks said:

          @scottalanmiller said:

          The idea with a direct ODBC connection is that a computer can look at a bunch of data and just "know" what it represents but it cannot.

          I have never thought this. I have never connected via ODBC and assumed my computer would just "know" what data I needed and give it to me in a readable format.

          But the theory that you need to know nothing and that ODBC will solve the problems is based on this, is it not? If not, then how do you get around the end user needing to know things?

          stacksofplatesS 1 Reply Last reply Reply Quote 0
          • stacksofplatesS
            stacksofplates @scottalanmiller
            last edited by

            @scottalanmiller said:

            @johnhooks said:

            @scottalanmiller said:

            The idea with a direct ODBC connection is that a computer can look at a bunch of data and just "know" what it represents but it cannot.

            I have never thought this. I have never connected via ODBC and assumed my computer would just "know" what data I needed and give it to me in a readable format.

            But the theory that you need to know nothing and that ODBC will solve the problems is based on this, is it not? If not, then how do you get around the end user needing to know things?

            No it's not. You still have to figure things out, but building the application itself is nearly gone (since you're not the only one using it). All you have to figure out is the data, which you would need to do with the API (at least to some extent depending on how it's written).

            scottalanmillerS 2 Replies Last reply Reply Quote 0
            • scottalanmillerS
              scottalanmiller @stacksofplates
              last edited by

              @johnhooks said:

              This way I would need to:

              A. Figure out the data scheme and choose the attributes(using tools or just reading through it since all attributes have to be the same name, etc)

              But we've established that you can't just ready through it, right? We are going in circles. Your "it's easy" theory is based on things I'm saying is not necessarily or even likely true. Might be true, sure, but we need it to be "very nearly certainly" true or moreso. This is medical data, it can't be wrong. we are talking about healthcare here. You are willing to put lives on the line based on "well the column names looked like they meant X"?

              I'm saying you have to know, not guess. And that your process is based purely on guessing.

              1 Reply Last reply Reply Quote 0
              • scottalanmillerS
                scottalanmiller @stacksofplates
                last edited by

                @johnhooks said:

                @scottalanmiller said:

                @johnhooks said:

                @scottalanmiller said:

                The idea with a direct ODBC connection is that a computer can look at a bunch of data and just "know" what it represents but it cannot.

                I have never thought this. I have never connected via ODBC and assumed my computer would just "know" what data I needed and give it to me in a readable format.

                But the theory that you need to know nothing and that ODBC will solve the problems is based on this, is it not? If not, then how do you get around the end user needing to know things?

                No it's not. You still have to figure things out, but building the application itself is nearly gone (since you're not the only one using it). All you have to figure out is the data, which you would need to do with the API (at least to some extent depending on how it's written).

                But same things again....

                • You can't necessarily figure it out.
                • You can't necessarily access it.
                1 Reply Last reply Reply Quote 0
                • scottalanmillerS
                  scottalanmiller @stacksofplates
                  last edited by

                  @johnhooks said:

                  .... which you would need to do with the API (at least to some extent depending on how it's written).

                  It's not the same. You are talking about replacing an application. I'm talking about using an application. Very different things.

                  Which is easier to do:

                  • Look directly at the MangoLassi database?
                  • Use the website?

                  or....

                  • Read a Word document by looking at the ASCII code? or...
                  • Open it in Word?
                  1 Reply Last reply Reply Quote 0
                  • scottalanmillerS
                    scottalanmiller @stacksofplates
                    last edited by scottalanmiller

                    @johnhooks said:

                    At least the data has to have some kind of structure.

                    Here is the rub. This is not only not necessarily true, it's not even likely to be true.

                    stacksofplatesS 1 Reply Last reply Reply Quote 0
                    • scottalanmillerS
                      scottalanmiller @stacksofplates
                      last edited by

                      @johnhooks said:

                      Really the worst it could be in a relational database is one tuple has all of the attributes. I say worst as in worst design. That would be fairly easy to read but horrible design.

                      No, in the best case it would be that, from a "using as a third party" standpoint. That's easier to use than it is even likely to be. You are jumping to a conclusion that isn't even likely. The chances that someone like Spotify uses relational data for their system is actually rather low. Definitely below the 50% mark. It's media, it has no reason for strict relationships and that would introduce a huge cost to them that would make little business sense.

                      1 Reply Last reply Reply Quote 0
                      • stacksofplatesS
                        stacksofplates @scottalanmiller
                        last edited by

                        @scottalanmiller said:

                        @johnhooks said:

                        At least the data has to have some kind of structure.

                        Here is the rub. This is not only not necessarily true, it's not even likely to be true.

                        If it's a relational database it has to. Like I said, you can't break the first normal form with a relational database.

                        scottalanmillerS 1 Reply Last reply Reply Quote 1
                        • scottalanmillerS
                          scottalanmiller @stacksofplates
                          last edited by

                          @johnhooks said:

                          @scottalanmiller said:

                          @johnhooks said:

                          At least the data has to have some kind of structure.

                          Here is the rub. This is not only not necessarily true, it's not even likely to be true.

                          If it's a relational database it has to. Like I said, you can't break the first normal form with a relational database.

                          Sure can, and some relational databases don't even support enforcing it. And there is no reason to even think it is likely to be relational. That's rather unlikely for such a modern app doing what it does. Why is relational even being brought up outside of a "well, I suppose it might be relational."

                          stacksofplatesS 1 Reply Last reply Reply Quote 0
                          • stacksofplatesS
                            stacksofplates @scottalanmiller
                            last edited by

                            @scottalanmiller said:

                            @johnhooks said:

                            @scottalanmiller said:

                            @johnhooks said:

                            At least the data has to have some kind of structure.

                            Here is the rub. This is not only not necessarily true, it's not even likely to be true.

                            If it's a relational database it has to. Like I said, you can't break the first normal form with a relational database.

                            Sure can, and some relational databases don't even support enforcing it. And there is no reason to even think it is likely to be relational. That's rather unlikely for such a modern app doing what it does. Why is relational even being brought up outside of a "well, I suppose it might be relational."

                            Explain how it's possible? How can you have a tuple that doesn't have all of the attributes? That's impossible.

                            scottalanmillerS 1 Reply Last reply Reply Quote 0
                            • scottalanmillerS
                              scottalanmiller
                              last edited by

                              And again, using Spotify as an anecdote is meaningless. Completely meaningless. You assume everything about their database and then use a complex API to suggest that APIs are difficult. Sure, anyone can make a bad or hard or huge API. But people can also make easy ones. I've used many that are so dead simple that it is just crazy. That doesn't mean that all are.

                              My point is based on "things come in a wide variety and we can't make assumptions." Your point, I feel, is based on the assumptions that:

                              • All databases are relational. (Known false.)
                              • All ODBC is easy and self describing (Known false.)
                              • All APIs are complex and difficult (Known false.)
                              • All databases put relationships in the DB not in code (known false.)

                              Your point depends on all four of those things reliably true, but all are provably unreliable. They might be common (although that too, is questionable) but all are provably not always true. If they are not reliably true, it undermines your point.

                              My point is simply that we can't know enough to depend on those things.

                              stacksofplatesS 2 Replies Last reply Reply Quote 0
                              • stacksofplatesS
                                stacksofplates @scottalanmiller
                                last edited by

                                @scottalanmiller said:

                                And again, using Spotify as an anecdote is meaningless. Completely meaningless. You assume everything about their database and then use a complex API to suggest that APIs are difficult. Sure, anyone can make a bad or hard or huge API. But people can also make easy ones. I've used many that are so dead simple that it is just crazy. That doesn't mean that all are.

                                My point is based on "things come in a wide variety and we can't make assumptions." Your point, I feel, is based on the assumptions that:

                                • All databases are relational. (Known false.)
                                • All ODBC is easy and self describing (Known false.)
                                • All APIs are complex and difficult (Known false.)
                                • All databases put relationships in the DB not in code (known false.)

                                Your point depends on all four of those things reliably true, but all are provably unreliable. They might be common (although that too, is questionable) but all are provably not always true. If they are not reliably true, it undermines your point.

                                My point is simply that we can't know enough to depend on those things.

                                Provide a simple API?

                                scottalanmillerS 1 Reply Last reply Reply Quote 0
                                • stacksofplatesS
                                  stacksofplates @scottalanmiller
                                  last edited by

                                  @scottalanmiller said:

                                  All ODBC is easy and self describing (Known false.)

                                  First off how is this a known false? Username, password, done. That's easy. If you're referring to the data behind the ODBC, then that's different.

                                  scottalanmillerS 1 Reply Last reply Reply Quote 0
                                  • scottalanmillerS
                                    scottalanmiller @stacksofplates
                                    last edited by

                                    @johnhooks said:

                                    @scottalanmiller said:

                                    @johnhooks said:

                                    @scottalanmiller said:

                                    @johnhooks said:

                                    At least the data has to have some kind of structure.

                                    Here is the rub. This is not only not necessarily true, it's not even likely to be true.

                                    If it's a relational database it has to. Like I said, you can't break the first normal form with a relational database.

                                    Sure can, and some relational databases don't even support enforcing it. And there is no reason to even think it is likely to be relational. That's rather unlikely for such a modern app doing what it does. Why is relational even being brought up outside of a "well, I suppose it might be relational."

                                    Explain how it's possible? How can you have a tuple that doesn't have all of the attributes? That's impossible.

                                    Lots of databases and applications happily do not enforce no-null. So many that it is normally assumed. Nulls are very common. No matter how bad of a form it is, it is the most common way to set up a tuple.

                                    stacksofplatesS 1 Reply Last reply Reply Quote 0
                                    • scottalanmillerS
                                      scottalanmiller @stacksofplates
                                      last edited by

                                      @johnhooks said:

                                      @scottalanmiller said:

                                      All ODBC is easy and self describing (Known false.)

                                      First off how is this a known false? Username, password, done. That's easy. If you're referring to the data behind the ODBC, then that's different.

                                      I'm referring to the data behind it.

                                      1 Reply Last reply Reply Quote 0
                                      • scottalanmillerS
                                        scottalanmiller @stacksofplates
                                        last edited by

                                        @johnhooks said:

                                        Provide a simple API?

                                        Look at the MangoLassi URL. That's a very common HTTP-based, XML returning, RESTful API.

                                        stacksofplatesS 1 Reply Last reply Reply Quote 0
                                        • scottalanmillerS
                                          scottalanmiller
                                          last edited by

                                          Spiceworks uses a similar API. So easy that you can just look at it.

                                          Have you ever worked with Ruby on Rails? It makes the API for you as you go and drives home how it is used. By default, many modern frameworks create super simple APIs as part of their framework itself.

                                          1 Reply Last reply Reply Quote 0
                                          • MattSpellerM
                                            MattSpeller
                                            last edited by

                                            0_1456769788511_readImage.jpg

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 6
                                            • 7
                                            • 8
                                            • 9
                                            • 10
                                            • 11
                                            • 8 / 11
                                            • First post
                                              Last post